新手入门
- 积分
- 5
- 金钱
- 5
- 注册时间
- 2022-4-27
- 在线时间
- 0 小时
|
为什么下面这个按键扫描,只有第一个有效。
while(1)
{
if((KEY_Scan(0)==KEY_UP_PRESS)||(KEY_Scan(0)==KEY0_PRESS)||(KEY_Scan(0)==KEY1_PRESS)||(KEY_Scan(0)==KEY2_PRESS))
{
IWDG_FeedDog();//喂狗
LED2=0;
printf("喂狗\r\n");
}
i++;
if(i%20==0)
{
LED1=!LED1;
}
delay_ms(10);
}
}
u8 KEY_Scan(u8 mode)
{
static u8 key=1;
if(mode==1) //连续按键按下
key=1;
if(key==1&&(KEY_UP==1||KEY0==0||KEY1==0||KEY2==0)) //任意一个按键按下
{
delay_ms(10); //消抖
key=0;
if(KEY_UP==1)
return KEY_UP_PRESS;
else if(KEY0==0)
return KEY0_PRESS;
else if(KEY1==0)
return KEY1_PRESS;
else if(KEY2==0)
return KEY2_PRESS;
}
else if(KEY_UP==0&&KEY0==1&&KEY1==1&&KEY2==1) //无按键按下
key=1;
return 0;
}
|
|