论坛风格切换切换到宽版
  • 3212阅读
  • 5回复

请教一个关于中断的问题 [复制链接]

上一主题 下一主题
离线BG4ABM
 
发帖
1139
只看楼主 倒序阅读 0楼 发表于: 2006-09-14
如果某个中断源的第一个中断正在执行中,这时这个中断源的第二个中断产生了,紧接着这个中断源的第三个中断又产生了,直到第三个中断产生后,第一个中断才执行完毕,请问第一个中断执行完后,会不会去执行第二个和第三个中断?
离线BG7IGJ
发帖
1998
只看该作者 1楼 发表于: 2006-09-14
不会~~~12345
离线BG4ABM
发帖
1139
只看该作者 2楼 发表于: 2006-09-15
想再问得仔细点:第一个中断还在执行时,是根本不会产生第二个、第三个中断,还是会产生,但cpu不会响应?
离线BG7IGJ
发帖
1998
只看该作者 3楼 发表于: 2006-09-15
cpu不会响应
离线BG8WJ
发帖
166
只看该作者 4楼 发表于: 2006-09-15
如果是msc51的单片机的话,同一个中断源,中断正在执行中,不会去相应这个中断源的。
另外你所指的“这个中断源的第二个中断产生了,紧接着这个中断源的第三个中断又产生了”
是否是指外部中断触发电路,如果是的话你可以使用中断缓冲来实现依次执行,但是记住这是不是同步中断相应啦。
如果是内部中断源的话,你的程序没有相关的处理语句的话,这2、3中断必然引起程序跑飞死机。
离线BG4UVR
发帖
11288
只看该作者 5楼 发表于: 2006-09-16
mcs51中,中断分为高、低优先级。

高优先级中断可以中断正在执行的低优先级中断。

几个硬件中断本身也有优先级别,不过这只在同时发生了几种中断时,才有用。同时产生2个以上中断时,优先级高的中断优先被执行,同时优先级低的中断被忽略。