TIM4的怎么能立即输出PWM?

2019-07-21 05:00发布

按照mini板教程——PWM输出试验,设置PWM周期50ms,TIM_OCMode_PWM1模式。
先执行TIM_SetCompare1(TIM1,100);函数,产生了高点平1ms,低电平19ms。占空比1/20.
此状态持续约90ms后,要改变占空比,先将计数器清零。TIM1->CNT=0;再使用TIM_SetCompare1(TIM1,500);    (高电平5ms,低电平15ms。占空比5/20.)
但是,执行TIM_SetCompare1(TIM1,500);以后,电平并没有立刻升高开始新的占空比,而是持续一段时间低电平,才开始新的占空比。
如仿真图:(绿 {MOD}的下降沿表示已经执行了TIM_SetCompare1(TIM1,500);)

我的理解是执行TIM1->CNT=0;那么比较值就会大于CNT,就会马上高电平。但是仿真却没有效果……
之所以选择TIM_OCMode_PWM1模式,是因为这个模式产生的PWM在一个周期内先高电平,再低电平。现在需要执行TIM_SetCompare1(TIM1,500);以后,电平立刻升高,开始新的占空比PWM。
请问应该怎么设置呢?谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。