如果一次循环中代码的执行时间超过了每次循环的时间,结果怎样?

2019-07-18 02:42发布

如果一次循环中代码的执行时间超过了每次循环的时间,结果会是下面哪种?
  1.程序是等着那个代码执行完在执行下一次循环。
  2.程序到了规定的循环周期就执行下一次循环,不等那个代码执行完。
可不可以将这些问题以及循环时间等问题和注意事项系统的为小弟介绍一下。或者提供一些资料供小弟研究。谢谢了



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zhijun0906
1楼-- · 2019-07-18 02:44
应该看你的循环是怎么实现的,如果是定时中断肯定不等你执行完本次直接运行下次循环
狗头军师汪
2楼-- · 2019-07-18 03:31
zhijun0906 发表于 2015-10-11 10:10
应该看你的循环是怎么实现的,如果是定时中断肯定不等你执行完本次直接运行下次循环

就是很普通的定时循环,用那种等待时间函数,这样的话应该是怎样的
pjn_1905
3楼-- · 2019-07-18 05:42
关于这个问题,以前我也有过疑惑。后面通过了解,不同的控制器要看手册上是如何描述的。比如51单片机,你设每1毫秒进入一次定时器中断,假设第1毫秒进入中断函数后运行的时间为1.5毫秒,超过了1毫,那么中断函数是不会被打断,直到它完整运行完(除非有比它有更高优先级的中断打断),也就是在第2毫秒的中断到来时,程序还在执行上一毫秒还没执行的程序,而不会响应第2毫秒的中断程序。执行完第1毫秒的程序完后,也不会直接再进入中断程序执行第2毫秒的中断,因为中断程序结束退出前会清掉中断标志位,所以下一次要进入中断是在第3毫秒才重新进来

一周热门 更多>