Translations:Buzzer/10/en: различия между версиями

Материал из Wiren Board
(Новая страница: «Enable PWM output: <pre> echo 1 > /sys/class/pwm/pwmchip0/pwm2/enable </pre>»)
 
 
Строка 1: Строка 1:
Enable PWM output:
To work with pwm through sysfs you need:
<pre>
#Export port <syntaxhighlight lang="bash">echo 0 > /sys/class/pwm/pwmchip0/export</syntaxhighlight>After that, the /sys/class/pwm/pwmchip0/pwm0 directory appears
echo 1 > /sys/class/pwm/pwmchip0/pwm2/enable
# Write the pwm period in nanoseconds <syntaxhighlight lang="bash">echo 250000 > /sys/class/pwm/pwmchip0/pwm0/period # set the period to 250,000 ns, i.e. in 250µs, which corresponds to a frequency of 4kHz</syntaxhighlight>
</pre>
#Record volume (calculated from duty-cycle) <syntaxhighlight lang="bash">echo 125000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle # maximum volume is reached when duty_cycle = period / 2 => set duty_cycle to 125,000 ns</syntaxhighlight>
#Enable PWM output <syntaxhighlight lang="bash">echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable</syntaxhighlight>

Текущая версия на 20:48, 22 сентября 2022

Определение сообщения (Buzzer)
Для работы c pwm через sysfs нужно: 
#Экспортировать порт <syntaxhighlight lang="bash">echo 0 > /sys/class/pwm/pwmchip0/export</syntaxhighlight>После этого появляется директория /sys/class/pwm/pwmchip0/pwm0
#Записать период pwm в наносекундах <syntaxhighlight lang="bash">echo 250000 > /sys/class/pwm/pwmchip0/pwm0/period # устанавливаем период в 250 000 нс, т.е. в 250мкс, что соответствует частоте 4кГц</syntaxhighlight>
#Записать громкость (пересчитав из duty-cycle) <syntaxhighlight lang="bash">echo 125000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle # максимальная громкость достигается при duty_cycle = period / 2 => устанавливаем duty_cycle в 125 000 нс</syntaxhighlight>
#Включить выход PWM <syntaxhighlight lang="bash">echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable</syntaxhighlight>

To work with pwm through sysfs you need:

  1. Export port
    echo 0 > /sys/class/pwm/pwmchip0/export
    
    After that, the /sys/class/pwm/pwmchip0/pwm0 directory appears
  2. Write the pwm period in nanoseconds
    echo 250000 > /sys/class/pwm/pwmchip0/pwm0/period # set the period to 250,000 ns, i.e. in 250µs, which corresponds to a frequency of 4kHz
    
  3. Record volume (calculated from duty-cycle)
    echo 125000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle # maximum volume is reached when duty_cycle = period / 2 => set duty_cycle to 125,000 ns
    
  4. Enable PWM output
    echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable