STM32调试过程中出现的问题1:
STM32调试过程中出现的问题1:
…\HARDWARE\KEY\key.c(47): error: #29: expected an expression
if(key_up&&(KEY00))||KEY10||WK_UP1))
…\HARDWARE\KEY\key.c(55): warning: #12-D: parsing restarts here after previous syntax error
else if(KEY01&&KEY11&&WK_UP0)key_up=1;
…\HARDWARE\KEY\key.c(55): error: #65: expected a “;”
else if(KEY01&&KEY11&&WK_UP==0)key_up=1;
…\HARDWARE\KEY\key.c: 1 warning, 2 errors
程序源代码是:
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按键按松开标志
if(mode)key_up=1; //支持连按
if(key_up&&(KEY00))||KEY10||WK_UP==1))
{
delay_ms(10);//去抖动
key_up=0;
if(KEY00)return KEY0_PRES;
else if(KEY10)return KEY1_PRES;
else if(WK_UP1)return WKUP_PRES;
}
else if(KEY01&&KEY11&&WK_UP0)key_up=1;
return 0;// 无按键按下
}
问题解决方案:
将光标所在行多余的“()”删掉。
代码:
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按键按松开标志
if(mode)key_up=1; //支持连按
if(key_up&&KEY00||KEY10||WK_UP1)
{
delay_ms(10);//去抖动
key_up=0;
if(KEY00)return KEY0_PRES;
else if(KEY10)return KEY1_PRES;
else if(WK_UP1)return WKUP_PRES;
}
else if(KEY01&&KEY11&&WK_UP==0)key_up=1;
return 0;// 无按键按下
}