标题: 关于当两定时器同时进入中断单片机如何处理的问题 [打印本页]

作者: @小明    时间: 2016-11-2 21:38
标题: 关于当两定时器同时进入中断单片机如何处理的问题
当程序中开多个定时器时就要考虑定时器的优先级的问题。但有时当两个定时器同时执行中断程序是单片机是怎样处理的呢?
是执行优先级高的中断后忽略优先级低的中断还是先执行优先级高的中断后续执行优先级低的中断。


作者: ynking    时间: 2016-11-3 00:30
不同的CPU 有不同的策略,具体看吧,可以设置中断嵌套,也可以不允许,按优先级来。
具体看你的应用
作者: zl2168    时间: 2016-11-3 08:24
当CPU正在执行某个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断。
作者: zl2168    时间: 2016-11-3 08:24
高优先级中断可以中断正在响应的低优先级中断,反之则不能。
作者: zl2168    时间: 2016-11-3 08:25
同优先级中断不能互相中断。即某个中断(不论是高优先级或低优先级)一旦得到响应,与它同级的中断就不能再中断它。
作者: zl2168    时间: 2016-11-3 08:25
同一中断优先级中,若有多个中断源同时请求中断(实际上发生这种情况的概率几乎为0),CPU将先响应优先权高的中断,后响应优先权低的中断。
作者: zl2168    时间: 2016-11-3 08:26
以上摘自张志良编著的: 80C51单片机实用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,便于阅读理解,便于自学。
作者: gregrgr    时间: 2016-11-3 13:24
CPU将先响应优先权高的中断,后响应优先权低的中断。
作者: zl2168    时间: 2016-11-3 15:45
gregrgr 发表于 2016-11-3 13:24
CPU将先响应优先权高的中断,后响应优先权低的中断。

优先级,不是优先权。优先权顺序是固定的,优先级是可编程的。
作者: zl2168    时间: 2016-11-3 15:48
同一中断优先级,同时请求中断情况的概率几乎为0。51单片机这样设计,体现了其严密性。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1