OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4120|回复: 2

触摸按键的连按问题,看不懂机理,想请教一下大家

[复制链接]

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2020-6-22
在线时间
11 小时
发表于 2020-12-22 23:25:15 | 显示全部楼层 |阅读模式
3金钱
看了原子哥的电容触摸按键实验,看不明白按键扫描函数的机理,有以下几个问题:(1)keyen的作用是什么?
(2)如果keyen=3主函数循环三次之后,keyen不就会置零了吗?
//mode=0:不支持连按;mode=1:支持连按
#define TPAD_GATE_VAL         100
u8 TPAD_Scan(u8 mode)
{
        static u8 keyen=0;
        u8 res=0;
        u8 sample=3;
        u16 rval;
        if(mode)
        {
                sample=6;       
                keyen=0;                  
        }
        rval=TPAD_Get_MaxVal(sample);
        if(rval>(tpad_default_val+TPAD_GATE_VAL))
        {                                                         
                if(keyen==0)res=1;               
                //printf("r:%d\r\n",rval);
                keyen=3;                               
        }
        if(keyen)keyen--;
        return res;

}
主函数部分:
while(1)
        {                                                                                                             
                if(TPAD_Scan(0))               //这个if判断三次,keyen变为0
                {
                        LED1=!LED1;
                }
                t++;
                if(t==15)                 
                {
                        t=0;
                        LED0=!LED0;
                }
                delay_ms(10);
        }

最佳答案

查看完整内容[请看2#楼]

http://www.openedv.com/forum.php ... 499&highlight=keyen去这个网址看看,会有帮助
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2020-11-7
在线时间
44 小时
发表于 2020-12-22 23:25:16 | 显示全部楼层
回复

使用道具 举报

18

主题

151

帖子

0

精华

高级会员

Rank: 4

积分
508
金钱
508
注册时间
2020-4-22
在线时间
241 小时
发表于 2020-12-23 14:11:33 | 显示全部楼层
按键使能。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-24 08:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表