This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IO中断的问题



P2的中断,不知道为什么不能触发?

#include "msp430.h"

int main(void)

{P1DIR|=0X01   : // P1.0管脚输出,用来控制告警灯

P2DIR&=~0X03;  //P2.0,1输入,用来触发中断

P2REN|=0X03;

P2OUT|=0X02;//P2.1拉高

P2OUT&=~0X01;//p2.0拉低

P2IE|=0X03;

P2IES|=0X02;//p2.1下降沿触发

P2IES&=~0X01;//P2.0上升沿触发

 __bis_SR_register( GIE);

}

#pragma vector=PORT2_VECTOR
__interrupt void Port2_ISR(void)
{

switch (P2IV)
{
case 0x02:{if(P2IN &0X01)     //上升沿触发,检测开关是否处于闭合,闭合不告警,否则告警亮灯

                          P1OUT&=~0X01;//P1.0输出低电平亮灯告警

                       else

                      P1OUT|=0X01;灭灯

} break;                            //用来检测开关状态,一旦打开就告警,闭合就取消,不知道这样写对不对

case 0x04: P1OUT&=~0X01;

break;      //下降沿触发,连接一个震动传感器,震动后导通接地,亮灯告警
default: break;

 P2IFG = 0X00;

}

这里中断会有冲突吗