工具/软件:Code Composer Studio
这是我用于使用中断切换 LED 的代码、但它无法正常工作。
请帮帮我
#include
/**
* main.c
*
int main (空)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
P1DIR |=(BIT0 | BIT6);//将 p1.0 & p1.6设置为输出
P1DIR &=~BIT3;//将 p1.3设置为输入
P1OUT |= BIT0;//打开 p1.0 LED
P1OUT &=~BIT6;//关闭 p1.6 LED
P1REN |= BIT3;//启用上拉/下拉 p1.3
P1OUT |= BIT3;//将 p1.3设置为上拉
P1SEL &= 0x00;//将 P1引脚设置为输入/输出
P1IE |= BIT3;//为 p1.3启用中断
P1IFG &=~BIT3;//清除 p1.3的中断标志
P1IES = BIT3;//将高电平设置为低电平至 p1.3
bis_SR_register (LPM4_bits+ GIE);
返回0;
}
#pragma vector = Port1_vector
_interrupt void Port1 (void)
{
if (((P1IFG & BIT3)!= 0)//检查是否设置了 p1IFG.3
{
P1OUT ^=(BIT0);//切换 p1.0
P1IFG &=~BIT3;//清除 P1.3中断标志
}
}