写代码时遇到case语句错误

2019-07-21 00:42发布

总是提示:
main.c(81): error:  #29: expected an expression
       case KEY_BACKWARD:
main.c(94): error:  #29: expected an expression
                 case KEY_LEFT:
main.c(109): error:  #29: expected an expression
                 case KEY_RIGHT:
main.c(124): error:  #29: expected an expression
                case KEY_STOP:
main.c(144): warning:  #1-D: last line of file ends without a newline
        }
main.c: 2 warnings, 4 errors

这一大段代码如下:
while(NRF24L01_Check())//????24L01
{

  delay_ms(1000);
  LED0=!LED0; //D2??

}



TX_Mode();//·¢ËÍģʽ

for(t=0;t<6;t++)
{
  tmp_buf[t]='0';
}

while(1)
{
   key=KEY_Scan(0);
   switch(key)
   {
   case KEY_FORWARD:
   {
   for(t=0;t<6;t++)
  {
  tmp_buf[t]='1';
  }
  NRF24L01_TxPacket(tmp_buf);
  LED1=!LED1; //D3??
}

  break;
     case KEY_BACKWARD:
    {
    for(t=0;t<6;t++)
  {
  tmp_buf[t]='2';
  }
  NRF24L01_TxPacket(tmp_buf);
  LED1=!LED1; //D3??
}
  break;
   case KEY_LEFT:
   {
   for(t=0;t<6;t++)
  {
  tmp_buf[t]='3';
  }
  NRF24L01_TxPacket(tmp_buf);
  LED1=!LED1; //D3??
}
  
  break;
   case KEY_RIGHT:
   for(t=0;t<6;t++)
  {
  tmp_buf[t]='4';
  }
  NRF24L01_TxPacket(tmp_buf);
  LED1=!LED1; //D3??
  //LCD_ShowString(100,210,239,32,16,"turn right");
  break;

  case KEY_STOP:
  tmp_buf[0] = '1';
  tmp_buf[1] = '1';
  tmp_buf[2] = '1';
  tmp_buf[3] = '0';
  tmp_buf[4] = '1';
  tmp_buf[5] = '1';
  LED1=!LED1; //D3??
  NRF24L01_TxPacket(tmp_buf);


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
MXA
1楼-- · 2019-07-21 04:51
你上网搜一下case语句的应用要求
brucewoo
2楼-- · 2019-07-21 07:54
key是什么变量类型?t在哪里定义的?
edmund1234
3楼-- · 2019-07-21 10:16
 精彩回答 2  元偷偷看……
人生丶如梦
4楼-- · 2019-07-21 10:19
break放在case里边
DreamWaterPro
5楼-- · 2019-07-21 14:54
建议把KEY_BACKWARD, KEY_LEFT, KEY_RIGHT, KEY_STOP这些宏定义贴上来,疑似这边出现了问题。

另外论坛发帖有专门的代码编辑模块,请不要直接粘贴,混乱的格式下代码真的是不想仔细看。
馒头弟
6楼-- · 2019-07-21 20:03
发的这一段,大括号对等吗。。
有的case有大括号,有的没有。break也放里面去。。
KEY_xxx宏定义应该是没问题,因为KEY_FORWARD没有报错,所以是格式问题。

一周热门 更多>