Translations:Buzzer/10/en

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