本文檔主要講解在 iMX6 開發板設備樹內核如何配置 pwm,文檔以蜂鳴器的 PWM 爲
例,將默認的 GPIO 配置設置爲 PWM。
1 設備樹修改
這裏選擇蜂鳴器的網絡 CSI_PWN 來配置,對應的 IO 爲 SD1_DAT2。
打開「arch/arm/boot/dts/imx6qdl-sabresd.dtsi」設備樹文件,默認的配置是網絡
「MX6QDL_PAD_SD1_DAT2__GPIO1_IO19」,以下圖所示,將其註釋掉。測試
在設備樹代碼中,增長如下 PWM 配置。3d
以下圖所示。blog
增長 PWM2 的設備ip
增長以後以下圖所示。開發
從新編譯燒寫到開發板中。
2 sys 測試
這裏咱們不增長驅動代碼,直接利用 sys 便可,默認 pwm 的 sys 已經配置。
燒寫新的設備樹鏡像以後,使用命令
echo 0 > sys/class/pwm/pwmchip1/export 初始化 pwm,將其配置爲 pwm
取消的話使用「echo 0 > sys/class/pwm/pwmchip1/unexport」命令。
配置爲 pwm 以後,使用命令如下命令:
echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable 使能
echo 1000000 > /sys/class/pwm/pwmchip1/pwm0/period 配置 period 爲
1000000
echo 500000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle 配置 duty_cycle 爲
500000,能夠聽到蜂鳴器響
echo 100000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle 配置 duty_cycle 爲
100000,能夠聽到蜂鳴器響
echo 0 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle 配置 duty_cycle 爲 0,蜂
鳴器中止響。文檔