PWM使用注意事项
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
把PWM的wave_no 从0修改为大于0的数值后无法输出波形。
[SOLUTION]
kernel PWM demo code:
+ struct pwm_spec_config pwm_setting;
+ pwm_setting.pwm_no = PWM1; //PWM_A
+ pwm_setting.mode = PWM_MODE_FIFO; //new mode fifo and periodical mode
+ pwm_setting.pMIC_pad = FALSE;
+ pwm_setting.clk_div = CLK_div64;
+ pwm_setting.clk_src = PWM_CLK_NEW_MODE_BLOCK; //26MHz
+
+
+ pwm_setting.PWM_MODE_FIFO_REGS.HDURATION = 1;
+ pwm_setting.PWM_MODE_FIFO_REGS.LDURATION = 1;
+ pwm_setting.PWM_MODE_FIFO_REGS.IDLE_VALUE = 1; //idle High
+ pwm_setting.PWM_MODE_FIFO_REGS.GUARD_VALUE = 0;
+ pwm_setting.PWM_MODE_FIFO_REGS.STOP_BITPOS_VALUE = 1;
+ pwm_setting.PWM_MODE_FIFO_REGS.GDURATION = 0;
+ pwm_setting.PWM_MODE_FIFO_REGS.WAVE_NUM = 20;
+
+ pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA0 = 0xAAAAAAAA;
+ pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA1 = 0xAAAAAAAA;
+ pwm_set_spec_config(&pwm_setting);
+}
从PWM mode =》GPIO mode 切换的时候必须调用函数 void mt_pwm_disable(U32
pwm_no, BOOL PMIC_pad);把PWM关闭掉。
这样从GPIO=》PWM mode 切换的时候才会产生波形,否则获取不到PWM指定数目的波
形。
也就是说PWM使用完毕后必须disable 掉。
把PWM的wave_no 从0修改为大于0的数值后无法输出波形。
[SOLUTION]
kernel PWM demo code:
+ struct pwm_spec_config pwm_setting;
+ pwm_setting.pwm_no = PWM1; //PWM_A
+ pwm_setting.mode = PWM_MODE_FIFO; //new mode fifo and periodical mode
+ pwm_setting.pMIC_pad = FALSE;
+ pwm_setting.clk_div = CLK_div64;
+ pwm_setting.clk_src = PWM_CLK_NEW_MODE_BLOCK; //26MHz
+
+
+ pwm_setting.PWM_MODE_FIFO_REGS.HDURATION = 1;
+ pwm_setting.PWM_MODE_FIFO_REGS.LDURATION = 1;
+ pwm_setting.PWM_MODE_FIFO_REGS.IDLE_VALUE = 1; //idle High
+ pwm_setting.PWM_MODE_FIFO_REGS.GUARD_VALUE = 0;
+ pwm_setting.PWM_MODE_FIFO_REGS.STOP_BITPOS_VALUE = 1;
+ pwm_setting.PWM_MODE_FIFO_REGS.GDURATION = 0;
+ pwm_setting.PWM_MODE_FIFO_REGS.WAVE_NUM = 20;
+
+ pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA0 = 0xAAAAAAAA;
+ pwm_setting.PWM_MODE_FIFO_REGS.SEND_DATA1 = 0xAAAAAAAA;
+ pwm_set_spec_config(&pwm_setting);
+}
从PWM mode =》GPIO mode 切换的时候必须调用函数 void mt_pwm_disable(U32
pwm_no, BOOL PMIC_pad);把PWM关闭掉。
这样从GPIO=》PWM mode 切换的时候才会产生波形,否则获取不到PWM指定数目的波
形。
也就是说PWM使用完毕后必须disable 掉。
原来如此:lol:lol
