標(biāo)題:
關(guān)于矩陣鍵盤(pán)的問(wèn)題,請(qǐng)教各位大佬
[打印本頁(yè)]
作者:
JoeForMZ
時(shí)間:
2017-9-20 21:14
標(biāo)題:
關(guān)于矩陣鍵盤(pán)的問(wèn)題,請(qǐng)教各位大佬
最近做一個(gè)項(xiàng)目,用到矩陣鍵盤(pán),本以為這是整個(gè)項(xiàng)目中最簡(jiǎn)單的,結(jié)果沒(méi)想到是一個(gè)BUG,請(qǐng)問(wèn)如何判斷按鍵按了幾次,比如,按下S1進(jìn)入設(shè)置界面,輸入1234,再按下S1,設(shè)置成功并保存,再按下S1退出設(shè)置界面。我試過(guò)給一個(gè)變量a,按一次+1,然后用if判斷,結(jié)果不可行,各位大佬遇過(guò)這問(wèn)題嗎?有沒(méi)有好一點(diǎn)的思路,跪拜各位大佬。。
作者:
wulin
時(shí)間:
2017-9-21 06:35
unsigned char key_scan()//4*4矩陣鍵盤(pán)掃描函數(shù)
{
//略
}
void key_service() //按鍵服務(wù)程序
{
static unsigned char count=0;//計(jì)數(shù)變量
key=key_scan(); //讀取鍵值
switch(key)
{
case 0xee: //設(shè)置鍵鍵值
{
count++;
switch(count)
{
case 1:
//任務(wù)1
break;
case 2:
//任務(wù)2
break;
case 3:
//任務(wù)3
count=0;
break;
}
}
key=0; //執(zhí)行完任務(wù)清0
break;
case 0xde:
//任務(wù)
key=0; //執(zhí)行完任務(wù)清0
break;
......
......
......
......
case 0x77:
//任務(wù)
key=0; //執(zhí)行完任務(wù)清0
break;
default:
break;
}
}
作者:
浪人
時(shí)間:
2017-9-23 13:58
設(shè)置一個(gè)標(biāo)志變量,為0時(shí)且有鍵按下,致1并執(zhí)行內(nèi)容;為1時(shí)不執(zhí)行;當(dāng)所有鍵彈起重新致0
作者:
chouguiyu
時(shí)間:
2017-9-23 21:16
估計(jì)問(wèn)題是出在按鍵的掃描和識(shí)別上
作者:
zl2168
時(shí)間:
2017-9-24 12:50
你錯(cuò)啦!應(yīng)該是先理解才有好思路,而不是先有好思路,不要舍本求末。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1