新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2020-8-15
- 在线时间
- 5 小时
|
1金钱
本帖最后由 vegeta312 于 2020-10-9 20:21 编辑
小白,想问下一个肤浅的问题:在按键输入中:
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;// 无按键按下
}
为什么else if之后没有在else return 0;。
如果出现特殊的情况:
如果开始KEY0=0,但是10ms内,他又置位成了1,KEY1=1,WK_UP=0的情况下,红色字体中没有一个条件满足的,return不了的情况下,就一直在这个函数内没有返回值了吗?
还是直接回到调用的函数处?
|
|