51单片机,如果中断函数比较长,执行到一半又触发了这个中断,程序会停止从头执行,还是执行结束后响应中

 我来答
zj_zhang99
2010-10-12 · TA获得超过916个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:62.7万
展开全部
51单片机中,中断分高低两个优先级,高优先级的中断能打断低优先级的中断。

但同级中断是不能打断同级中断的!无论该中断函数有多长,在执行到一半这个中断又发生了,还是要等到该中断函数执行完毕,并再执行了一条主程序指令后才会再次进入该中断。

不过,若楼主恰好在这个低优先级中断服务程序中修改了该中断为高优先级,那么如果该中断函数比较长,执行到一半又触发了这个中断,则该中断函数就会被重新从头开始执行(中断嵌套)。这是因为除串口中断以外的其他中断,在 CPU 响应该中断,程序转入该中断函数前就已经将该中断的中断标志清零了。

另外,51的串口中断比较特别,因为需要软件清除串口中断标志,所以只要在未清串口中断标志前,是不会发生上述这样的中断嵌套的。
百度网友5f81806
2010-10-12 · TA获得超过1302个赞
知道小有建树答主
回答量:335
采纳率:100%
帮助的人:301万
展开全部
如果同一个中断触发的话,会在你中断退出后马上又进入中断。如果退出中断时清除了标志的话,就当什么都没发生。
不会把你正在执行的中断程序给中断了。除非是另外一个更高优先级的中断被触发。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
in奋斗
2010-10-12 · TA获得超过103个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:104万
展开全部
会重新执行中断函数 执行完以后再接着刚才的一半执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式