bit OneTouch = 0;//设定一个标志位
if(keysFlagSN)//检测到有按键触发
{
if(keysFlagSN & Key_Power)//判断属于哪个按键
{
if(!OneTouch)//进入第一次且只有一次判断
{
OneTouch = 1;//马上置1,不再进入这次判断
BUZZER_ON_Flag = 1;
TMR_BUZZER_Cnt = 0;
if(Sys_Status)
Sys_Status = 0;
else
Sys_Status = 1;
}
}
else if(keysFlagSN & 0x3e)//判断属于哪个按键
{
if(!OneTouch)
{
OneTouch = 1;
if(Sys_Status)
{
BUZZER_ON_Flag = 1;
TMR_BUZZER_Cnt = 0;
}
}
}
}
else
{
OneTouch = 0;//手松开后再清零,用于下次标志位判别
if(!Touch_Data_Output)
{
Touch_Data_Output_Tmp = 0;
}
}
本文介绍了防误触按键的程序实现,通过设置标志位OneTouch进行判断。当检测到按键触发时,根据不同的按键类型执行相应操作,如切换状态或启动蜂鸣器。在按键释放后,会将标志位清零,以准备下一次按键检测。

1万+

被折叠的 条评论
为什么被折叠?



