int key_scan(mode);
int main()
{
int key = 0;
while(1)
{
while((key = key_scan(x))) //掃描按鍵。x爲0或者1
{
switch(key)
{
case 1:
//to do something
break;
case 2:
//to do something
break;
.....
}
}
}
}
/* @func 掃描按鍵
* @param mode 1:支持連按 0:不支持連按
* @ret 0:未有按鍵按下 其他值表示按鍵的代碼
*/
int key_scan(mode)
{
static unsigned char key_up = 1;
if(mode) key_up = 1;//支持連按
if(key_up && KEY1 == 0)//KEY1爲讀取按鍵爲上拉GPIO口的值,按下時爲0
{
delay_ms(5);
key_up = 0;
if(KEY1 == 0)
{
return 1;//按鍵的編號
}
}
else if(KEY0 == 1)//KEY0未按下
key_up = 1;
return 0;
}
按鍵 連續與不連續
版權聲明:轉載請註明作者和鏈接 https://blog.csdn.net/Hola_ya/article/details/81204012
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.