全志平臺Tina系統pwm控制led調試的方法(以R18某方案爲例)

全志平臺Tina系統pwm控制led調試的方法(以R18某方案爲例)

sys_config.fe的修改:

--- a/recipes-bsp/tina-board/tulip-noma/configs/sys_config.fex
+++ b/recipes-bsp/tina-board/tulip-noma/configs/sys_config.fex
@@ -534,11 +534,11 @@ pwm_positive        = port:PD22<2><0><default><default>
 [pwm0_suspend]
 pwm_positive        = port:PD22<7><0><default><default>
 
-[pwm16]

-s_pwm0_used         = 0
+[spwm0]
+spwm0_used           = 1
 pwm_positive        = port:PL10<2><0><default><default>
 
-[pwm16_suspend]
+[spwm0_suspend]
 pwm_positive        = port:PL10<7><0><default><default>

 

        這個LED設計的是MUTE功能開啓的時候點亮,所以要先把MUTE打開,調試的時候請先拉高PD4:

root@tulip-mozart:/sys/kernel# mount -t debugfs none debug/

root@tulip-mozart:/sys/kernel/debug/sunxi_pinctrl# echo pio > dev_name

root@tulip-mozart:/sys/kernel/debug/sunxi_pinctrl# echo PD4 > sunxi_pin

root@tulip-mozart:/sys/kernel/debug/sunxi_pinctrl# echo PD4 1 > data 

 

然後

echo 0 > /sys/class/pwm/pwmchip16/export

echo 100000 > /sys/class/pwm/pwmchip16/pwm0/period

echo 20000 > /sys/class/pwm/pwmchip16/pwm0/duty_cycle

echo 1 > /sys/class/pwm/pwmchip16/pwm0/enable

echo 80000 > /sys/class/pwm/pwmchip16/pwm0/duty_cycle

duty_cycle的值限制在0~period的範圍內

period是週期,單位是ns。

如果要設置爲某頻率,比如如果頻率想改成200Hz,

1/200Hz=0.005s=5 000 000 ns

這裏就要改成5 000 000

然後在這個範圍內變化,可以寫個3000000什麼的進行調試:

echo 0 > /sys/class/pwm/pwmchip16/export

echo 5000000 > /sys/class/pwm/pwmchip16/pwm0/period

echo 3000000 > /sys/class/pwm/pwmchip16/pwm0/duty_cycle

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章