关于中断的判断 TMR1IE&&TMR1IF 的疑问

2020-02-08 09:13发布

void interrupt ISR(void)
{
        if(TMR1IE&&TMR1IF)
        {

        }
}

datasheet 上说,溢出后  TIR1IF会置1,要软件清零,为什么不直接判断  TIM1IF  而是把TMR1IE和TMR1IF两个一起判断,这样做有什么好处?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
lixin91985
2020-02-09 10:55
LZ的写法是正确的。

多个中断对应一个中断向量,但是IF 在IE没有打开的情况下还是会响应的。所以就会造成中断无法关闭。

而说什么 IF 被错误置位的问题 纯粹是扯淡。  对于一个特定的中断, IE没开,他怎么进中断。

一周热门 更多>