为什么有了if(mode)key_up=1; 这个语句 ,就支持连按了?
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;
if(mode)key_up=1;
if(key_up&&(KEY0==0||KEY1==0||KEY2==0||KEY3==1))
{
delay_ms(10);
key_up=0;
if(KEY0==0)return KEY_RIGHT;
else if(KEY1==0)return KEY_DOWN;
else if(KEY2==0)return KEY_LEFT;
else if(KEY3==1)return KEY_UP;
}else if(KEY0==1&&KEY1==1&&KEY2==1&&KEY3==0)key_up=1;
return 0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
就是if(mode)key_up=1; 这条语句不明白
---------------------------------
看不明白,找C语言的书来看,还不明白,你可以自己写一个按键扫描程序出来,不用例程的,也许写完了,这个也明白了。
---------------------------------
这就是恢复按键检测。
如果key_up,说明按键没松开。
---------------------------------
去查查 static的效果吧
一周热门 更多>