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
Last revisionBoth sides next revision
en:general_information:tutorial:pwm [2015/12/08 12:22] liedmannen:general_information:tutorial:pwm [2015/12/08 13:36] liedmann
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:02