[蓝桥杯国赛]按键双击/多击触发

思路同按键长按,在key_state_2里判断如何没有松开的时候加一,如果我设置一个标志让按键按下一次后标志位置1,这样我就能统计按下了几次,这样就可以实现双击和三击的功能,程序如下,key_press=0x77是长按部分,key_press=0xee是双击部分

case KEY_STATE_2:
if(key_press == NO_KEY)
{
	key_state=KEY_STATE_0;
}
else
{
	if(key_press==0x77)
	{
		sustain_press_time++;
		if(sustain_press_time==400)
		{
			sustain_press_time=0;
			led_flag=1;
		}	
	}
	if(key_press==0xee)
	{
		if(key19_one_flag==1)
		{
			key19_one_flag=0;
			sustain_press_time_ee++;
			if(sustain_press_time_ee==2)
			{
				sustain_press_time_ee=0;
				led2_flag=1;
			}
		}
	}
}
break;

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