本文檔主要講解在 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 配置。 ![]() 如下圖所示。 ![]() 增加 PWM2 的設備 ![]() 增加之后如下圖所示。 ![]() 重新編譯燒寫到開發板中。 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,蜂 鳴器停止響。 ![]() |