关于中断状态保持的问题

2020-02-03 10:07发布

工作也有一段时间了,但是有时候很基础的问题搞得不是很清楚。

最近用STC的单片机,遇到这样一种情况,希望不是STC的问题:单片机的主程序的一部分在进行实时操作,不能被中断打断,所以自然的,加入关闭总中断予以保护。
但是呢,在关闭总中断的期间,如果有中断发生呢,事实上是需要记录中断状态的,稍后的时间内进行处理,而不是完全不理会此消息。

所以,小弟在此想问的是:
1、51中是不是有比较完美的解决关闭中断过程中,记录期间中断响应,之后可以再进入中断处理的方法;
2、其他的高级的单片机包括现在的M3等的,是不是可以做到这些。

谢谢大家
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
hotfleet
1楼-- · 2020-02-03 14:31
果然帖子沉了。。。。
richu
2楼-- · 2020-02-03 20:31
不知道STC单片机是怎样的,M3中,中断是可以挂起的,比如两个中断同时到来,先执行高优先级中断,低优先级的会挂起。而你提到的关中断状态,如果有中断发生也是会挂起的。
leijiayou
3楼-- · 2020-02-04 00:59
关闭中断还能产生之前的中断记录吗?   LS说的是中断没有关闭,而是同一优先级到来另一个挂起      期待其他人的看法       我想关闭中断是不会产生记录的(个人看法)
jswd0810
4楼-- · 2020-02-04 05:58
在中断中置标志位,中断程序中不要处理太多的东西,在主程序中扫描执行,,个人意见
zjk
5楼-- · 2020-02-04 09:47
 精彩回答 2  元偷偷看……
BDXing6
6楼-- · 2020-02-04 15:24
51中断逻辑:无论那类中断,到来时,相关中断标志置位。如果中断被关闭,则不会响应该中断,标志也不会被清除。因此,在打开中断允许后,仍然会产生中断。也就是中断挂起。但应该注意的是,如果中断关闭期间,来了两次中断,则打开中断允许后只会响应一次,对于用于计时或计数类的中断就可能会产生误差。

一周热门 更多>