按键实验中mode为什么突然就判断if(mode==1){```},没有执行过其它能让mode=1的运算
/******************************************************************************** 函 数 名 : KEY_Scan
* 函数功能 : 按键扫描检测
* 输 入 :mode=0:单次按下按键
mode=1:连续按下按键
* 输 出 : 0:未有按键按下
KEY_UP:K_UP键按下
KEY_DOWN:K_DOWN键按下
KEY_LEFT:K_LEFT键按下
KEY_RIGHT:K_RIGHT键按下
*******************************************************************************/
u8 KEY_Scan(u8 mode)
{
static u8 key=1;
if(key==1&&(K_UP==1||K_DOWN==0||K_LEFT==0||K_RIGHT==0)) //任意一个按键按下
{
delay_ms(10);//消抖
key=0;
if(K_UP==1)
{
return KEY_UP;
}
else if(K_DOWN==0)
{
return KEY_DOWN;
}
else if(K_LEFT==0)
{
return KEY_LEFT;
}
else
{
return KEY_RIGHT;
}
}
else if(K_UP==0&&K_DOWN==1&&K_LEFT==1&&K_RIGHT==1) //无按键按下
{
key=1;
}
if(mode==1) //连续按键按下
{
key=1;
}
return 0;
}
对按键实验中,mode为什么突然就判断if(mode==1){```},没有执行过其它能让mode=1的运算
mode 是个形参,你看调用按键函数的时候给他赋值是多少
页:
[1]