![]() |
發布時間: 2020-12-11 13:20
正文摘要:本帖最后由 cheney03 于 2020-12-11 13:24 編輯 為什么同一個按鍵掃描函數,在被不同函數調用時,靈敏度不一樣。 圖一為原始數值,圖二中按一次KEY_UP鍵,數值N1加1,正常;同樣N2也是按一次KEY_UP鍵,數值卻變 ... |
樓主把矩陣按鍵掃描程序改這樣試試 void Key_scan(void) { static bit a=0; GPIO_KEY=0x0f; if(GPIO_KEY!=0x0f) { Delay10ms(); if(GPIO_KEY!=0x0f && a==0) { a=1; //測試列 switch(GPIO_KEY) { case(0X07):KEY=1;break; case(0X0b):KEY=2;break; case(0X0d):KEY=3;break; case(0X0e):KEY=4;break; } //測試行 GPIO_KEY=0XF0; switch(GPIO_KEY) { case(0X70):KEY=KEY;break; case(0Xb0):KEY=KEY+4;break; case(0Xd0):KEY=KEY+8;break; case(0Xe0):KEY=KEY+12;break; } } } else a=0;//鍵抬起 } |