按照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。
请问应该怎么设置呢?谢谢!
一周热门 更多>