开启定时器中断对程序的影响

2019-03-24 10:38发布

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亮度的程序,如果长时间不按键,下一次按键就会关灯,我想用定时器记录不按键的时间。
如果大家有其他长时间不按键改变按键功能的办法也请不吝赐教,谢谢。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
很想变学霸
1楼-- · 2019-03-24 13:08
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章