Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:general_information:tutorial:pwm [2015/12/08 12:22] liedmannen:general_information:tutorial:pwm [2022/08/04 15:02] (current) – external edit 127.0.0.1
Line 10: Line 10:
 PWM devices are listed under **/sys/class/pwm** PWM devices are listed under **/sys/class/pwm**
  
-==== enable PWM device ==== +==== export PWM device ==== 
 +<WRAP round important 50%> 
 +You must export the PWM at first, otherwise the other commands in this tutorial will not work 
 +</WRAP>
 <code> <code>
 root@MBaXXX:~ cd /sys/class/pwm                                                   // enter pwm folder in sysfs root@MBaXXX:~ cd /sys/class/pwm                                                   // enter pwm folder in sysfs
Line 18: Line 20:
 root@MBaXXX:/sys/your/path/to/pwmchip/pwmchip<pwmchipnr> cd pwm<pwmnr>            // enter exported pwm device folder  root@MBaXXX:/sys/your/path/to/pwmchip/pwmchip<pwmchipnr> cd pwm<pwmnr>            // enter exported pwm device folder 
 </code> </code>
 +
 ++++ example | ++++ example |
 <code> <code>
Line 24: Line 27:
 root@MBaXXX:/sys/class/pwmchip0 echo 0 > export root@MBaXXX:/sys/class/pwmchip0 echo 0 > export
 root@MBaXXX:/sys/class/pwnchip0 cd pwm0 root@MBaXXX:/sys/class/pwnchip0 cd pwm0
 +</code>
 +++++
 +
 +==== set PWM period ====
 +
 +<code> 
 +root@MBaXXX:~ echo <value in nanoseconds> > /sys/class/pwm/pwmchip<pwmchipnr>/pwm<pwmnr>period
 +</code>
 +
 +++++ example |
 +<code>
 +root@MBaXXX:~ echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/period
 +</code>
 +++++
 +
 +==== set PWM duty cycle ====
 +<WRAP round important 50%>
 +The value of duty cycle must be less than the value of pwm period
 +</WRAP>
 +
 +<code>
 +root@MBaXXX:~ echo <value in nanoseconds> > /sys/class/pwm/pwmchip<pwmchipnr>/pwm<pwmnr>duty_cycle
 +</code>
 +
 +++++ example |
 +
 +<code>
 +root@MBaXXX:~ echo <value in nanoseconds> > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
 +</code>
 +++++
 +
 +==== change polarity of the PWM signal ====
 +
 +<code>
 +root@MBaXXX:~ echo "normal" > /sys/class/pwm/pwmchip<pwmchipnr>/pwm<pwmnr>/polarity      // set polarity to normal
 +root@MBaXXX:~ echo "inversed" > /sys/class/pwm/pwmchip<pwmchipnr>/pwm<pwmnr>/polarity    // set polarity to inversed
 +</code>
 +
 +++++ example |
 +<code>
 +root@MBaXXX:~ echo "normal" > /sys/class/pwm/pwmchip0/pwm0/polarity 
 +root@MBaXXX:~ echo "inversed" > /sys/class/pwm/pwmchip0/pwm0/polarity 
 +</code>
 +++++
 +==== enable PWM ====
 +
 +<code>
 +root@MBaXXX: echo 1 > /sys/class/pwm/pwmchip<pwmchipnr>/pwm<pwmnr>/enable
 +</code>
 +
 +++++ example |
 +
 +<code>
 root@MBaXXX: echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable root@MBaXXX: echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
 </code> </code>
 ++++ ++++
  
-root@MBaXXX:+==== disable PWM ==== 
 + 
 +<code> 
 +root@MBaXXX: echo 0 > /sys/class/pwm/pwmchip<pwmchipnr>/pwm<pwmnr>/enable 
 +</code> 
 + 
 +++++ example | 
 + 
 +<code> 
 +root@MBaXXX: echo 0 > /sys/class/pwm/pwmchip0/pwm0/enable 
 +</code> 
 +++++
  • Last modified: 2022/08/04 15:04