while(1)
{
if(PressRelease)
{
switch(statetable[0][CurrentState])
{
case WELCOME:
UARTSendArray("please enter three numbers between 0 and 10 to represent the brightness of three modes
", 88);
pwm(100);
break;
case B1:
pwm((input[0]-48)*100);
break;
case B2:
pwm((input[1]-48)*100);
break;
case B3:
pwm((input[2]-48)*100);
break;
case OFF:
pwm(0);
break;
}
CurrentState++;
if(CurrentState>=4)
{
CurrentState=0;
}
}
else
{
TACCTL0 |= CCIE; // Enable counter interrupt to start counting
__bis_SR_register(GIE);
if (seconds == 10)
{
CurrentState = 4;
}
}
__bis_SR_register(LPM0_bits + GIE);
}
当按键被按下以后,pressrelease变成1从而在几个状态中变换改变LED的亮度,但是当我在主程序任何地方添加了开启定时器中断代码 TACCTL0 |= CCIE; 程序就卡在了第一个状态。
大二学生在做一个用一个键改变LED亮度的程序,如果长时间不按键,下一次按键就会关灯,我想用定时器记录不按键的时间。
如果大家有其他长时间不按键改变按键功能的办法也请不吝赐教,谢谢。
此帖出自
小平头技术问答
一周热门 更多>