单片机中中断服务子程序没执行完能强行跳回主程序吗,若不能为什么?若能,相应的中断标志位会被清零吗

单片机中中断服务子程序没执行完能强行跳回主程序吗,若不能为什么?若能,相应的中断标志位会被清零吗,第1张

当然可以强行跳回主程序,不影响中断标志位的清缓扒举零,只要进入中断,该硬件清零的就自动清零,但强行跳回主程序,单片机会认为一直在执行中断程序,因此以后有中断发生时也不会再进此中入中断程序。所以不能这样做,用RETI就会跳回主程序。扰碧

1、一般来说单片机的中断发生有两个条件,一是中断标志位置位,二是中断允许,如果这两个条件都满足则进入中断,因为正常情况下中断一直是允许的,那么只能通过标志位来区分是否有中断挂起,

2、如果进入中断不清除标志位,那么这一中断服务程序结束后由于标志位还是置位的并且中断是允许的,那么还会再次进入该中断,就会发生一直在执行中断程序的情况

3、周期性中断是由定时器辅助完成的,只要定时时间到,硬件就会自动置位标志位,这时中断发生,定时器还在运行,与中断处理是并行的没有冲突,因此周期性的中断信段不是从中断标志位清零开始的。

4、滑芦誉如果中断程序没有执行完并且一下个中断又来了,那么硬件还是会自动置位标志位的,如果在这之前已经清零标志位那么中断结束后会再进入一次该哗燃中断,如果这时还没有清除中断标志位,则第二个1毫秒中断无效。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12478760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存