PWM调试
时间:2022-12-01 10:00:00
进入/sys/class/pwm/
-
root@TinaLinux:/# cd sys/class/pwm/
root@TinaLinux:/sys/class/pwm# ls
pwmchip0 pwmchip16可以看到,pwmchip0 pwmchip16是我们注册的pwm进入目录的控制器
-
root@TinaLinux:/sys/class/pwm# cd pwmchip0/
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# ls
device export npwm power subsystem uevent unexport
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# cat npwm
16
其中npwm文件存储了该pwm控制器的pwm个数,而export和unexport是导出和删除某pwm以下演示导出设备文件pwm1 -
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# echo 1 > export
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# ls
device npwm pwm1 uevent
export power subsystem unexport
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# ls p
power/ pwm1/
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# ls pwm1/
capture enable polarity uevent
duty_cycle period power/
该目录中,enable是使能pwm,duty_cycle是占空比,period是周期,polarity是极性,可以配置相关的pwm并且使能 -
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# cd pwm1/
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0/pwm1# cat duty_cycle
0
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0/pwm1# echo 1000000000 > period
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0/pwm1# echo 500000000 > duty_cycle
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0/pwm1# echo normal > polarity
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0/pwm1# echo 1 > enable如果相关引脚接上了示波器等就可以看到波形。最后返回到上级目录,删除该pwm设备
-
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0/pwm1# cd …
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# ls
device npwm pwm1 uevent
export power subsystem unexport
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# echo 1 > unexport
root@TinaLinux:/sys/devices/platform/soc/300a000.pwm/pwm/pwmchip0# ls
device export npwm power subsystem uevent unexport