C - 防止中断激活 - MSP430

C - prevent interrupt activiation - MSP430

我编写了以下代码来初始化我的 MSP430 微控制器上的按钮:

    void Initialize(void){

       P1REN |= 0x02;                          
       P1OUT |= 0x02;                         
       P2REN |= 0x02;                          
       P2OUT |= 0x02;                          
       P1IE |= 0x02;                           
       P2IE |= 0x02;                              
       P1IFG &= ~0x02;                         
       P2IFG &= ~0x02;                         

       TA1CTL = TASSEL_1+ID_0+MC_2+TACLR;      
       TA1R = 40000;                         

       _BIS_SR(GIE);                           

    }

如何防止行 P1IFG &= ~0x02;引发中断?我是微控制器编程的新手,读到如果 P1IE 寄存器发生变化,这条线会引发中断。

感谢您的帮助!

用户指南说:

Writing to P1OUT, P1DIR, P2OUT, or P2DIR can result in setting the corresponding P1IFG or P2IFG flags.

但是,此代码会在全局启用中断 (GIE) 之前清除 PxIFG 标志,因此不会发生意外中断。