u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按键按松开标志
if(mode)key_up=1; //支持连按
if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))
{
delay_ms(10);//去抖动
key_up=0;
if(KEY0==0)return KEY0_PRES;
else if(KEY1==0)return KEY1_PRES;
else if(WK_UP==1)return WKUP_PRES;
}else if(KEY0==1&&KEY1==1&&WK_UP==0)key_up=1;
return 0;// 无按键按下
}
加红的if判断条件里key_up为什么没有判定条件,写成key_up==1?如果不加判定条件的话,在不支持连续按时,key_up的值为0时,这个if条件语句还会执行么?还是说如果不加判定条件的话,判断时只看后面括号里的逻辑或就行了,前面的key_up值为多少都无所谓?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>