关于按键程序连按与不支持连按的解析。
#u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;//按键按松开标志
if(mode)key_up=1; //支持连按 如果mode=1则使得标志位为1,否则不复位 。
if(key_up&&(KEY00||KEY10||KEY20||WK_UP1))//如果有按键按下
{
delay_ms(10);//去抖动 等待10ms消抖
key_up=0; //标志位清零
if(KEY00)return KEY0_PRES; //如果是key0按下则,返回值为KEY0_PRES 1
else if(KEY10)return KEY1_PRES;//如果是key1按下则,返回值为KEY1_PRES 2
else if(KEY20)return KEY2_PRES;//如果是key2按下则,返回值为KEY2_PRES 3
else if(WK_UP1)return WKUP_PRES;//如果是KW_UP按下则,返回值为KWUP_PRES 4
}else if(KEY01&&KEY11&&KEY21&&WK_UP0)key_up=1; //如果没有按键按下,则按键标志位置1;
return 0;// 无按键按下
}
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。
支持连按的设置从四处代码来实现。
1.static u8 key_up=1;//按键按松开标志
2if(mode)key_up=1; //支持连按 如果mode&