工具/软件:Code Composer Studio
您好!
我正在使用端口中断。
我的计划是:
I) P2.7与开关(中断)相连。
II) P3.2与 LED 相连。
按下开关时、LED 将亮起。
/*
* port2 vector defined ===========================================================================
*
#pragma vector=port2_vector
_interrupt void Port_2 (void)
{
IF (P2IFG & 0x80){
P2IFG &=~0x80;//P2.7连接的磁性开关。
pattern = 1;
_BIC_SR_REGISTER_ON_EXIT (LPM3_BITS);
}
}
/*
* main function============================================================================================================================
*
int main (空)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
///LED 定义-------------------------------------------------------
// P3OUT &=~BIT2;//清除 P1.0输出锁存器以实现定义的加电状态
P3DIR |= BIT2;//将 P3.2设置为输出方向
//端口中断定义-------------------------------------------------------
P2DIR &=~BIT7;//p7 -磁体、P2DIR &=~BIT7;
P2IES |= BIT7;
P2IFG &=~BIT7;
P2IE |= BIT7;
PM5CTL0 &=~LOCKLPM5;//禁用 GPIO 上电默认高阻抗模式
/
//start------------------
while (1)
{
_bis_SR_register (LPM3_bits+GIE);
if (pattern > 0)(如果(模式> 0
{
pattern = 0;
P3OUT &=~BIT2; //LED 正在工作、我在我的定制板中测试了它、没有中断。
_DELAY_CYCLES (800000);
P3OUT |= BIT2;
}
}
//返回0;
}
能不能有人告诉我、
我犯了什么错误?
以便中断无法正常工作。
此致、
Srijit。