注意点
(key_press==0x77)而不是key_return == 4
分析
按键长按实现功能的思路是:
如果按下后一个变量会自加,满足一定量时候,让一个标志为1,我们就可以用这个标志去实现我们想要的功能
//节选代码
case KEY_STATE_2:
if(key_press == NO_KEY)
{
key_state = KEY_STATE_0;
}
else
{
if(key_press==0x77) //按键是S4
{
key_i++;
if(key_i==500) //大约是1秒多
{
key_i=0;led_flag=1;
}
}
}
这个key_i最好在某个地方可以固定清零,不然多次短按后也会触发这个长按的功能