PWM控制
1. PWM引脚
以SC-3568HA为例,在板卡的40PIN引脚上有3个具有PWM功能的GPIO,其中PWM5(PIN33)已经被MIPI1屏幕背光所占用

板卡 | pin12 | pin32 | pin33 |
---|---|---|---|
SC-3568HA | pwm0 | pwm14 | pwm5 |
备注
pwm0,pwm5,pwm14默认都已使能
2. 检查PWM设备
在终端输入以下命令查看pwm是否使能
ls -l /sys/class/pwm/
如图:

pwmchip1,pwmchip2为屏幕的背光,系统默认开启,当开启多个pwm设备树插件时,pwm控制器值越小,系统分配的pwmchip越小
比如我同时开启了pwm0,pwm5,pwm14,那么会出现以下对应关系
pwm0->pwmchip0
pwm5->pwmchip2
pwm14->pwmchip3
3. PWM控制方式
下面以控制PWM14为例
#将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
提示
当设置period与duty_cycle值时,需要注意在任何的情况下都得保证period的值大于等于duty_cycle的值。