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

解答一下定时器中断的问题

1c61d3832d945ce0 2019-09-12 浏览量:870
程序只开了一个定时器中断,5ms触发一次,但是中断服务函数处理的事情有点多,5ms处理不完,从现象上来看,中断服务程序后面的完全就没有执行到。我想请问一下,如果5ms时间没有执行完,但是下一次定时的中断又来了,这个该怎么去解释呢
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 因为正常的情况都是在中断处理程序一开始就移除中断相应标志,以保证能响应到后面的中断,

    因为你没有具体提供程序,所以具体实现不好说。

    你说你5ms的处理没有完成,因为没有完整的代码或者逻辑介绍,也不知道具体情况,也不好说。

    不过一般说来,对同样的中断处理,如果上个中断标志已经清理,则会再捕获,从而开始新的中断处理(重新发起的函数调用),否则不会再次捕获进入中断。

    • 发布于 2019-09-13
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:1
  • 一般是中断里面设置标志,主循环检测标志并执行。按你说的情况,处理时间大于中断周期,实际上是单片机处理能力已经不够了,更换MCU或者优化程序。
    • 发布于2019-09-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

解答一下定时器中断的问题