本帖最后由 铜牌之路 于 2015-8-13 19:56 编辑
u8 KEY_AnJian(void)
{
u8 key_up = 1;
static u16 key_count=0; //定时器扫描次数
if(key_up&&(KEY_Y==0||KEY_X==0||KEY_Z==0||KEY_S==1||KEY_QueR==0||KEY_FanH==0||KEY_LiuSY==1))
{
if(key_count<=3)
{
key_count=key_count+1;
}
}
else
{
key_count = 0;
}
if(key_count >= 3)
{
if(KEY_Y==0) return 5;
else if(KEY_X==0) return 6;
else if(KEY_Z==0) return 7;
else if(KEY_S==1) return 8;
else if(KEY_QueR==0) return 9;
else if(KEY_FanH==0) return 10;
else if(KEY_LiuSY==1) return 11;
}
else if((KEY_Y==1||KEY_X==1||KEY_Z==1||KEY_S==0||KEY_QueR==1||KEY_FanH==1||KEY_LiuSY==0)) key_count = 0;
return 0;
}
我定时器设置的300ms扫描一次,但是非常快,一按按键,就执行了几次按键,怎么回事呢???谢谢帮忙解答,这是我自己写的按键程序,肯定有问题,但自己找不出来 |