C - 防止中断激活 - MSP430

时间:2018-05-24 13:13:09

标签: c microcontroller interrupt 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寄存器发生变化,该线会引发中断。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

用户指南说:

  

写入P1OUT,P1DIR,P2OUT或P2DIR会导致设置相应的P1IFG或P2IFG标志。

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