if(KEY1 == 0) //如果KEY1键按下
{
cntk1++; //在按下的时间段不断计数(通过循环)
if(cntk1 == 10) KeyCode = 1; //如果程序循环了10次 但按下的时间未达到1100次,属短按 只作为一次按键 单次触发
if(cntk1 > 1100) //如果时间计数大于1100次 (按键一直按下),每计数10次作为一次按键
{
KeyCode = 1; cntk1 = 1000; //连续触发
}
}
else cntk1 = 0;
if(KEY2 == 0)
{
cntk2++;
if(cntk2 == 10) KeyCode = 2;
if(cntk2 > 1100)
{
KeyCode = 2; cntk2 = 1000;
}
}
else cntk2 = 0;
程序未完整提供,程序还有一部分就是KeyCode在没有按键情况下应该有一个值,如KeyCode=0xff; |