初级会员

- 积分
- 164
- 金钱
- 164
- 注册时间
- 2017-9-18
- 在线时间
- 42 小时
|
1金钱
上边是触摸按键实验代码,下边是普通按键输入实验代码。我的疑问是,红色代码部分,电容触摸按键相对于普通按键多了一个功能:在不支持连按的情况下,松开按键后进入一个“冷却状态”,此时再次按下触摸按键LED不会有反应,冷却时间还会被刷新,这个功能什么用?我用的是mini板,做不了实际实验,希望知道的人告诉我下谢谢
u8 TPAD_Scan(u8 mode)
{
static u8 keyen=0; //0,可以开始检测;>0,还不能开始检测
u8 res=0;
u8 sample=3; //默认采样次数为3次
u16 rval;
if(mode)
{
sample=6; //支持连按的时候,设置采样次数为6次
keyen=0; //支持连按
}
rval=TPAD_Get_MaxVal(sample);
if(rval>(tpad_default_val+TPAD_GATE_VAL))//大于tpad_default_val+TPAD_GATE_VAL,有效
{
if(keyen==0)res=1; //keyen==0,有效
printf(\"r:%d\r\n\",rval);
keyen=3;
}
if(keyen)keyen--;
return res;
}
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;
if(mode)key_up=1;
if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))
{
delay_ms(10);
key_up=0;
if(KEY0==0)return KEY0_PRESS;
if(KEY1==0)return KEY1_PRESS;
if(WK_UP==1)return WKUP_PRESS;
}
else if(KEY0==1&&KEY1==1&&WK_UP==0)key_up=1; //这里if也对!
return 0;
}
|
|