u8 KEY_Scan(u8 mode)
{
static u8 key_up=1; //按键松开
if (mode)key_up=1;
if (key_up&&(KEY0==0||KEY1==0||WK_UP==1)) //因为key0和key1是低电平有效,即0代表按下,wk_up高电平有效,即1代表按下;
{
delay_ms(10);
key_up=0;
if (KEY0==0) return KEY0_PRES;
else if (KEY1==0)return KEY1_PRES;
else if (WK_UP==1) return WKUP_PRES;
}
else if (KEY0==1&&KEY1==1&&WK_UP==0) key_up=1;//无按键按下
return 0;
}
函数如上所示,就是不明白这个按键松开的意思是认为的通过设置mode告诉单片机这个按键现在是松开的还是按下的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
连按就是按住长时间不松开,这时候你按一次但是是长时间没松开,会多次识别,单片机认为你按下了好多次。
按下锁定就是按下一次不松开单片机只认为是按了一次,等你松开再按一次就再识别一次。
这个函数可以通过mode区分连按识别多次还是按一次识别一次。
一周热门 更多>