51单片机(c语言)中断嵌套的困惑

51单片机(c语言)中断嵌套的困惑众所周知,8051只允许2级中断嵌套。可是我在一本书上看到说“只要堆栈空间足够,中断嵌套的层数一般没有限制”。这个该怎么理解?我的模糊理... 51单片机(c语言)中断嵌套的困惑

众所周知,8051只允许2级中断嵌套。可是我在一本书上看到说“只要堆栈空间足够,中断嵌套的层数一般没有限制”。这个该怎么理解?

我的模糊理解是:“2级中断嵌套”与“中断嵌套层数”其实不是一回事,也就是说这样说并不冲突。但是如果只允许2级中断嵌套的话,那么假设现在有一个低优先级的中断正在执行,突然来了一个高优先级的中断,那么自然将转入高优先级的中断去执行(中断嵌套),以后无论收到哪一级的中断请求,CPU将不会响应(因为已是最高优先级别的中断),直到该中断执行完毕,然后转入下一个中断(这显然不能算是中断“嵌套”),也就是说8051的中断嵌套层数还是限制在了两层啊,求解~~~
展开
 我来答
fd6026
2011-11-07
知道答主
回答量:31
采纳率:0%
帮助的人:23.3万
展开全部
“只要堆栈空间足够,中断嵌套的层数一般没有限制”。
这话应该是对的。
虽然只有两级优先级。但是,同一优先级的不同中断的优先性不同。
具体的是:外部中断0、T0、外部中断1、T1、串行中断。五级依次递减。
(在同一优先级)如果正在执行T1中断,这时来了个T0中断,那么可以被打断,执行T0中断服务程序时又来个外部中断0,也能被打断。这不是有三级了吗?
依次类推,应该最多5层吧!不过很少用到那么多。
未王艮
2011-11-03 · TA获得超过1013个赞
知道小有建树答主
回答量:712
采纳率:0%
帮助的人:383万
展开全部
8051的中断优先级只有两级,因此最多允许两级中断嵌套
而对于ARM等有多个优先级的处理器,可以允许多重嵌套
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ycsxm
2011-11-03 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:7936万
展开全部
中断代码很快就要执行完。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友55be18de2
2012-04-14
知道答主
回答量:1
采纳率:0%
帮助的人:1637
展开全部
中断嵌套两层 。
“只要堆栈空间足够,中断嵌套的层数一般没有限制”可能指的是中断函数的层层调用吧。要么就是书的作者胡说八道,水平有限!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李嘉豪
2011-11-08
知道答主
回答量:27
采纳率:0%
帮助的人:7万
展开全部
就是2层,不然cpu无法处理,会出错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式