[求助] IO口中断问题

tangmijie   2012-8-5 10:41 楼主
用P1.3按键进入中断,点亮LED1即P1.0
为什么我加了LPM3就进不了中断了?改成LPM0进不了中断咋回事?
解,LMP0和LPM1等几种模式如何选择?

void main(void) {
WDTCTL = WDTPW + WDTHOLD;
P1DIR = BIT0 + BIT6;
P1DIR &= ~BIT3;
P1REN |=BIT3;//不能少哦
P1IE |= BIT3;
P1IES |= BIT3;
P1IFG =0x00;
P1OUT &= ~BIT0;
P1OUT &= ~BIT6;
LPM3;
_EINT();
while(1);
}
#pragma vector= PORT1_VECTOR
__interrupt void port1_sr()
{
int i=5000;
if(P1IFG&BIT3)
{
    P1OUT |= BIT0;
P1OUT &= ~BIT6;
while(i--);
P1IFG =0X00;
P1REN |=BIT3;
}
}

回复评论 (1)

少了一条语句:P1OUT |= BIT3; //设置P1.3口的内部电阻为上拉模式
点赞  2012-8-6 06:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复