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 标志,因此不会发生意外中断。
我编写了以下代码来初始化我的 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 标志,因此不会发生意外中断。