2) 边沿触发方式时,中断标志寄存器锁存了中断请求。中断口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU响应并转向该中断服务程序时,由硬件自动清除。因此当CPU正在执行同级中断(甚至是外部中断本身)或高级中断时,产生的外部中断(负跳变)同样将被记录在中断标志寄存器中。在该中断退出后,将被响应执行。如果你不希望这样,必须在中断退出之前,手工清除外部中断标志。
3) 中断标志可以手工清除。一个中断如果在没有得到响应之前就已经被手工清除,则该中断将被CPU忽略。就如同没有发生一样。
--------------------------------------------------------------------------------------------------------------------
今天我试了,进入中断,关闭中断,我在主程序中循环扫描了N次,在开中断,不管N是多大,单片机还是会进入这个中断,产生误动作。
今天我在网上看到上面关于中断的描述,如果按照他描述所说,如果连续有两个中断触发啦,第一个触发程序开始中断了,等这个中断结束,下一个中断也会接着触发,那么我是否要在第一个中断函数要结束前,清零一下中断标志呢?
|