树莓派5 外设GPIO使能 PWM
系统版本:Raspberry OS
6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux
目标:使能外设引脚GPIO12 用作PWM功能
步骤:
1. 增加config.txt 配置
Pi:/$ cd /boot/firmware/overlays/
Pi:/boot/firmware/overlays$ ls pwm-2chan.dtbo
pwm-2chan.dtbo
Pi:/boot/firmware$ vi config.txt
add in endline:
dtoverlay=pwm-2chan
then reboot Raspiberry5
2. 配置GPIO12
Pi:~$ ls /sys/class/pwm/pwmchip
pwmchip0/ pwmchip2/
Pi:~$ ls /sys/class/pwm/pwmchip2/
device/ export npwm power/ subsystem/ uevent unexport
Pi:~$ cd /sys/class/pwm/pwmchip2/
Pi:/sys/class/pwm/pwmchip2$ echo 0 > export
Pi:/sys/class/pwm/pwmchip2$ cd pwm0/
Pi:/sys/class/pwm/pwmchip2/pwm0$ ls
capture duty_cycle enable period polarity power uevent
Pi:/sys/class/pwm/pwmchip2/pwm0$ echo 20000 > period
Pi:/sys/class/pwm/pwmchip2/pwm0$ echo 10000 > duty_cycle
Pi:/sys/class/pwm/pwmchip2/pwm0$ pinctrl get 12
12: no pd | -- // GPIO12 = none
Pi:/sys/class/pwm/pwmchip2/pwm0$ pinctrl set 12 a0
Pi:/sys/class/pwm/pwmchip2/pwm0$ pinctrl get 12
12: a0 pd | lo // GPIO12 = PWM0_CHAN0
Pi:/sys/class/pwm/pwmchip2/pwm0$
Pi:/sys/class/pwm/pwmchip2/pwm0$ echo 1 > enable
3. 在GPIO12上测量波形