[蓝桥杯国赛]按键长按

注意点

(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最好在某个地方可以固定清零,不然多次短按后也会触发这个长按的功能

你可能感兴趣的:(蓝桥杯)