5.PWM控制 =========== **5.1 PWM引脚** -------------- 以SC-3568HA为例,在板卡的40PIN引脚上有3个具有PWM功能的GPIO,其中PWM5(PIN33)已经被MIPI1屏幕背光所占用 |PWM_0| +-----------+-----------+--------------+-----------+ | **板卡** | **pin12** | **pin32** | **pin33** | +===========+===========+==============+===========+ | SC-3568HA | pwm0 | pwm14 | pwm5 | +-----------+-----------+--------------+-----------+ .. note:: pwm0,pwm5,pwm14默认都已使能 **5.2 检查PWM设备** -------------- 在终端输入以下命令查看pwm是否使能 .. code-block:: bash :linenos: ls -l /sys/class/pwm/ 如图: |PWM_1| pwmchip1,pwmchip2为屏幕的背光,系统默认开启,当开启多个pwm设备树插件时,pwm控制器值越小,系统分配的pwmchip越小 .. code-block:: bash :linenos: 比如我同时开启了pwm0,pwm5,pwm14,那么会出现以下对应关系 pwm0->pwmchip0 pwm5->pwmchip2 pwm14->pwmchip3 **5.3 PWM控制方式** -------------- 下面以控制PWM14为例 .. code-block:: bash :linenos: #将pwm14导出到用户空间 echo 0 > /sys/class/pwm/pwmchip3/export #设置pwm周期 单位为ns echo 1000000 > /sys/class/pwm/pwmchip3/pwm0/period #设置占空比 echo 500000 > /sys/class/pwm/pwmchip3/pwm0/duty_cycle #设置pwm极性 echo "normal" > /sys/class/pwm/pwmchip3/pwm0/polarity #使能pwm echo 1 > /sys/class/pwm/pwmchip3/pwm0/enable #取消将pwm14导出到用户空间 echo 0 > /sys/class/pwm/pwmchip3/unexport .. hint:: 当设置period与duty_cycle值的时候需要注意在任何的情况下都得保证period的值大于等于duty_cycle的值。 .. |PWM_0| image:: picture/PWM_0.png :width: 7in :height: 3.92708in .. |PWM_1| image:: picture/PWM_1.png :width: 7in :height: 1.5in