avr单片机 INT0中断相应后还没有退出中断程序呢,可中断又再次响应了,怎么回事?

在我记忆中,在中断程序中不是不能再次响应中断的吗?只有退出中断程序后才能响应的吗?不是优先级的问题,同一中断,就是在处理外中断0时(还在中断程序中),外中断0又响应了,中... 在我记忆中,在中断程序中不是不能再次响应中断的吗?只有退出中断程序后才能响应的吗?

不是优先级的问题,同一中断,就是在处理外中断0时(还在中断程序中),外中断0又响应了,中断程序执行一半又从头执行,观察示波器确实有第二次中断。

总结我想问的问题就是在中断处理程序中,会再次响应中断吗?(同一中断源)
展开
 我来答
cczm1
2010-08-12 · TA获得超过860个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:106万
展开全部
---AVR中断后,硬件自动清除中断标志,并屏蔽全局中断。你的程序应当是中断后刚退出就再次中断了。
---中断里是否待太久了,刚进入中断时硬件会清标志,可能是在执行中断时,产生了新的中断,如果不是你希望的,可在退出时人为再清一遍标志。
---中断引脚是否干扰太多。可以加一个5.1K的上拉电阻,酌情加个对地的电容。都能有所改善。
祝你顺利。
944281792
2013-01-17
知道答主
回答量:1
采纳率:0%
帮助的人:1547
展开全部
在中断INT0的程序里,再次写入sei();会导致中断嵌套;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyh001123
2010-08-12 · TA获得超过1.4万个赞
知道大有可为答主
回答量:8341
采纳率:66%
帮助的人:6361万
展开全部
1\没有清楚中断标志,进入中断后,首先清除中断标志;
2\又产生了一次新的中断.

正常情况下会产生中断,但是不会嵌套进去,也就无法响应,因为优先级相等.
但是如果非正常情况,比如单片机有缺陷.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cowboylu
2010-08-13
知道答主
回答量:21
采纳率:0%
帮助的人:19.2万
展开全部
我做过不少外部0中断的程序,进入中断先关闭中断。所以,建议你进入中断后,务必先关闭外部0中断,不让单片机再产生新的中断,中断程序最后再打开外部0中断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bettergreen
2010-08-12 · TA获得超过1913个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:510万
展开全部
首先声明一下,我并不用avr单片机,但是我想单片机应该也是大同小异吧
中断嵌套不知道你考虑了没有,中断嵌套是不论你后面的优先级怎么样,都会优先处理后来的中断,如果你的程序里面打开了全局中断,并且先清除了中断标志位,那么就有可能存在这种情况,你不妨在跳出中断后在清除中断标志位 ,或者在中断里关闭全局中断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
847540030
2010-08-13
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
重装下系统!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式