工作也有一段时间了,但是有时候很基础的问题搞得不是很清楚。
最近用STC的单片机,遇到这样一种情况,希望不是STC的问题:单片机的主程序的一部分在进行实时操作,不能被中断打断,所以自然的,加入关闭总中断予以保护。
但是呢,在关闭总中断的期间,如果有中断发生呢,事实上是需要记录中断状态的,稍后的时间内进行处理,而不是完全不理会此消息。
所以,小弟在此想问的是:
1、51中是不是有比较完美的解决关闭中断过程中,记录期间中断响应,之后可以再进入中断处理的方法;
2、其他的高级的单片机包括现在的M3等的,是不是可以做到这些。
谢谢大家
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
楼上说的基本上对,除了一种例外情况:当外部中断是电平触发时,如果中断信号的有效电平在开中断前就撤消了的话,那么这次中断请求是不会被响应的。
如果想不漏掉中断请求,那么要么使用边沿触发、要么在外部使用硬件锁存器来锁存中断请求信号。
是这样子的,有段时序的,至少要关闭定时器和串口两个中断,而事实上也就用了这两个中断。。
感谢楼上两位了,看来是51的话,应该有所谓的中断挂起的,我的LED扫描是放在定时器里的,但是由于在有段需要开关中断的时序操作(时间不长,但是有点频繁),结果就是LED会时不时的抖动。有时间了做下试验验证下吧,可能和STC的单片机有关系,我一直不喜欢这个单片机。。
一周热门 更多>