1. 程式人生 > >按鍵掃描連續與不連續方案

按鍵掃描連續與不連續方案

int key_scanf(int mode)//mode=1為連續,0為不連續
{
static int sta=1;//定義全域性靜態變數,不會因重複進入函式,導致值被複位,能同文件內全域性呼叫,但是又能避免和其他檔案出現同變數名的衝突。
if(mode==1)sta=1;
if(sta&&(key1==0||key2==0||key3==0))//按鍵掃描
{
delay_ms(10);
sta=0;
if(key1==0)return 1;
else if(key2==0)return 2;
else if(key3==0)return 3;
}
else if(key1==0&&key2==0&&key3==0)sta=1;//直到按鍵被鬆開,才開啟下一次按鍵掃描
return 0;
}