我一直是觉得定时器自身是不能中断自己的,但是有一些事让我很不理解。
1:TIMx_ARR是自动重装载寄存器,里面存放了自动重装载的值。TIMx_CNT是定时器计数值。我的理解是TIMx_CNT=TIMx_ARR时,就开始进入定时器中断,进入中断以后TIMx_CNT=0。在定时器中断测试中读取了TIMx_CNT值,发现其是明显变化的。
2:用定时器中断得到六轴软件拟合的数据,后来用lcd屏幕显示,如果定时器中断溢出时间短,lcd屏幕上就只能显示半截字符串,如果不能自身打断,不是应该慢慢的都把字符串显示出来嘛。
第三个问题比较私人,定时器中断时的TIMx_CNT的值是否不能人工清零,用了TIM_SetCounter()也不可以。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
闲来无事,翻了翻数据手册上确实是这样写的:TIMx_CNT = TIMx_ARR时,重新从0开始计数,并产生溢出事件。
如果你需要精确的定时,可以在进入中断是,失能定时器,退出时,在使能。
一周热门 更多>