程序如下:
main()
{
.......
//Timer_A初始化
TA0CCTL0 = CCIE; // CCR0 interrupt enabled
TA0CCR0 = 32768;
TA0CTL = TASSEL_1 + MC_1 + TACLR; // ACLK, contmode, clear TAR
_EINT(); //打开全局中断
while(1)
{
LPM3;
P4OUT=BIT1;//LED1判断执行了LPM3命令
}
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
static int Time=0;
if(Time==5)
{
LPM3_EXIT;//退出LPM3中断
Time=0;
}
else
{
Time++;
P4OUT=BIT2; //LED2亮5S
}
}
现象是LED1亮1s左右,然后LED2亮5S,循环如此;这个程序的问题在哪。
|