• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32F1的定时器中断定时1ms的问题

蝴蝶泉 2020-02-20 浏览量:2565
用STM32F1的定时器定时1ms,定时一个小时后,这个定时器时间会变大,这是什么情况
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 对于定时器定时的误差,应该是不会出现这种情况的,因为定时器的时间只会跟你的时钟有关系,时钟通常是晶振产生,基本都是稳定的输出,所以你应该要排查一下是否有更高的优先级任务打断了这个定时器的中断,导致时间偏大
    • 发布于 2020-02-25
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 因为你执行1ms函数的时候其实也是下面几us的,所以循环延时1ms,要用3600000次,执行函数一次算3us,那也要多1秒出来,还有一种可能就是时钟本身误差,或者中断里面执行时间过长
    • 发布于2020-02-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 按理,只要时钟不漂移,单个定时的误差是不会累积的,但总的计时时间误差会因为最初的1ms定时器上的误差而累积。

    也就是说,假如1ms定时是一个标准的计时单位,在时钟频率不改变,且无故障等情况下,这个计时单位误差可以认为是一定的,1个小时、2个小时后单位时间还是一样的。 但是如果以此为基础累积计时,则这个误差会累积。

    • 发布于2020-02-20
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32F1的定时器中断定时1ms的问题