欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
求大神翻譯介紹一下單片機按鍵連按程序,看著有點迷糊
[打印本頁]
作者:
新手-小張
時間:
2019-4-13 14:39
標題:
求大神翻譯介紹一下單片機按鍵連按程序,看著有點迷糊
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按鍵按松開標志
if(mode)key_up=1; //支持連按
if(key_up&&(KEY0==0||KEY1==0||KEY2==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(KEY2==0)return KEY2_PRES;
else if(WK_UP==1)return WKUP_PRES;
}else if(KEY0==1&&KEY1==1&&KEY2==1&&WK_UP==0)key_up=1;
return 0;// 無按鍵按下
作者:
wulin
時間:
2019-4-13 22:43
本帖最后由 wulin 于 2019-4-14 08:11 編輯
這是一個有參數有返回值的按鍵掃描程序,寫得不錯。
如果參數mode=0,那么程序被調用時有按鍵按下只能響應一次并返回對應鍵值,然后被key_up=0鎖死。必須等待松手后key_up=1才能復位,此時再次按下才能響應。如果參數mode大于0,不必等待松手后key_up=1復位,key_up始終被置1,破壞了按鍵鎖定條件,那么有鍵按下后不松手,程序每調用一次就返回一次鍵值,達到連按的目的。可以通過改變參數mode的值而變化為單按或連按。
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按鍵按松開標志
if(mode)
key_up=1; //支持連按
if(key_up && (KEY0==0||KEY1==0||KEY2==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(KEY2==0)
return KEY2_PRES;
else if(WK_UP==1)
return WKUP_PRES;
}
else if(KEY0==1&&KEY1==1&&KEY2==1&&WK_UP==0)
key_up=1;
return 0;// 無按鍵按下
}
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1