51单片机(c语言)中断嵌套的困惑
51单片机(c语言)中断嵌套的困惑众所周知,8051只允许2级中断嵌套。可是我在一本书上看到说“只要堆栈空间足够,中断嵌套的层数一般没有限制”。这个该怎么理解?我的模糊理...
51单片机(c语言)中断嵌套的困惑
众所周知,8051只允许2级中断嵌套。可是我在一本书上看到说“只要堆栈空间足够,中断嵌套的层数一般没有限制”。这个该怎么理解?
我的模糊理解是:“2级中断嵌套”与“中断嵌套层数”其实不是一回事,也就是说这样说并不冲突。但是如果只允许2级中断嵌套的话,那么假设现在有一个低优先级的中断正在执行,突然来了一个高优先级的中断,那么自然将转入高优先级的中断去执行(中断嵌套),以后无论收到哪一级的中断请求,CPU将不会响应(因为已是最高优先级别的中断),直到该中断执行完毕,然后转入下一个中断(这显然不能算是中断“嵌套”),也就是说8051的中断嵌套层数还是限制在了两层啊,求解~~~ 展开
众所周知,8051只允许2级中断嵌套。可是我在一本书上看到说“只要堆栈空间足够,中断嵌套的层数一般没有限制”。这个该怎么理解?
我的模糊理解是:“2级中断嵌套”与“中断嵌套层数”其实不是一回事,也就是说这样说并不冲突。但是如果只允许2级中断嵌套的话,那么假设现在有一个低优先级的中断正在执行,突然来了一个高优先级的中断,那么自然将转入高优先级的中断去执行(中断嵌套),以后无论收到哪一级的中断请求,CPU将不会响应(因为已是最高优先级别的中断),直到该中断执行完毕,然后转入下一个中断(这显然不能算是中断“嵌套”),也就是说8051的中断嵌套层数还是限制在了两层啊,求解~~~ 展开
5个回答
展开全部
8051的中断优先级只有两级,因此最多允许两级中断嵌套
而对于ARM等有多个优先级的处理器,可以允许多重嵌套
而对于ARM等有多个优先级的处理器,可以允许多重嵌套
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中断代码很快就要执行完。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中断嵌套两层 。
“只要堆栈空间足够,中断嵌套的层数一般没有限制”可能指的是中断函数的层层调用吧。要么就是书的作者胡说八道,水平有限!
“只要堆栈空间足够,中断嵌套的层数一般没有限制”可能指的是中断函数的层层调用吧。要么就是书的作者胡说八道,水平有限!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是2层,不然cpu无法处理,会出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询