stm32如何更新定时器
比如定时器2只定时一次3MS时间,但是定时器计数2MS的时候另外个事情到来需要重新开始定时器2,3MS的计数,这么操作啊?重新装置吗?另外TIM_Cmd(TIM2,DIS...
比如定时器2只定时一次3MS时间,但是定时器计数2MS的时候另外个事情到来需要重新开始定时器2,3MS的计数,这么操作啊?重新装置吗?
另外TIM_Cmd(TIM2,DISABLE);只是停止计时吗?那么在执行TIM_Cmd(TIM2,ENABLE);会从刚才停止的寄存器数值开始么? 展开
另外TIM_Cmd(TIM2,DISABLE);只是停止计时吗?那么在执行TIM_Cmd(TIM2,ENABLE);会从刚才停止的寄存器数值开始么? 展开
展开全部
TIM_Cmd(TIM2,DISABLE);这个命令是关闭定时器吧,计数随即也就停止了。如果在3ms中断中打断定时器这估计就错失了此次的3ms中断了。所以要么用另外一个定时器定时2ms。要么3ms的不中断。 不过你可以每1ms中断一次,中断中放入一个计数器,当计数到2时就2ms,计数到3时就3ms。
另TIM_Cmd(TIM2,ENABLE);这个是开启计数器,估计计数值应该从初始值开始了。
另TIM_Cmd(TIM2,ENABLE);这个是开启计数器,估计计数值应该从初始值开始了。
追问
你没懂我的意思~
就好比我要定时3MS的时间这段程序就要收到1个反馈,如果收到反馈后再次重新计时3MS(3MS时间未到),我的目的就是要他重新在计时刷新3MS,而不是在计时到了后在去刷新。
在STM32里面怎么去做更新操作,(不要带可能,应该字眼,)谢谢~
追答
哦,要是在反馈后想重新计数,这个我没试过,只能是建议了,一种在反馈中关闭在开启计数器,另一种就是在反馈中手动将计数值置为零,纯个人想法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询