OpenEdv-开源电子网

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

扫描触摸按键 tpad.c的疑问

[复制链接]

10

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-5-22
在线时间
0 小时
发表于 2015-7-29 19:47:56 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true] //扫描触摸按键 //mode:0,不支持连续触发(按下一次必须松开才能按下一次);1,支持连续触发(可以一直按下) //返回值:0,没有按下;1,有按下;   #define TPAD_GATE_VAL 80 //触摸的门限值,也就是必须大于tpad_default_val+TPAD_GATE_VAL,才认为是有效触摸. 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,有效 {   rval=TPAD_Get_MaxVal(sample);   if((keyen==0)&&(rval>(tpad_default_val+TPAD_GATE_VAL)))//大于tpad_default_val+TPAD_GATE_VAL,有效 { res=1; }    //printf("r:%d\r\n",rval);            keyen=5; //至少要再过5次之后才能按键有效    }else if(keyen>2)keyen=2; //如果检测到按键松开,则直接将次数将为2,以提高响应速度 if(keyen)keyen--;                return res; } [/mw_shl_code] [mw_shl_code=c,true] [/mw_shl_code] [mw_shl_code=c,true] 这是f103  tpad.c里面的扫描触摸按键函数,我感觉keyen=5;这句似乎改成keyen=6,7,8...都行,反正只要一松开tpad键就变为2了,不知道原子是怎么想的,求指点。。  [/mw_shl_code]

最佳答案

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

就像try,,,try 10次也可以,try 100次也可以。。。只是一个有效性判断,自己设置一个值,大致而已
我建了一个战舰stm32交流群:320350722 新手请教老手,老手大显身手! stm32交流群:320350722 stm32交流群:320350722
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2015-7-29 19:47:57 | 显示全部楼层
就像try,,,try 10次也可以,try 100次也可以。。。只是一个有效性判断,自己设置一个值,大致而已
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

10

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-5-22
在线时间
0 小时
 楼主| 发表于 2015-7-29 19:48:48 | 显示全部楼层
这是f103  tpad.c里面的扫描触摸按键函数,我感觉keyen=5;这句似乎改成keyen=6,7,8...都行,反正只要一松开tpad键就变为2了,不知道原子是怎么想的,求指点。。醉了怎么出来一些这样的样式???
我建了一个战舰stm32交流群:320350722 新手请教老手,老手大显身手! stm32交流群:320350722 stm32交流群:320350722
回复

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2015-7-29 23:09:13 | 显示全部楼层
采样嘛。。。判断采样了N次算有效。你N=5,N=10可能都可以的了。。
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复

使用道具 举报

10

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-5-22
在线时间
0 小时
 楼主| 发表于 2015-7-30 09:57:14 | 显示全部楼层
回复【4楼】Admin:
---------------------------------
嗯,你的意思我知道,可是我是说这个程序,要么按键按下keyen就一直是5,要么抬起后就变为2,根本不是从5递减1,所以这个5没有意义啊,原子呢???解释下
我建了一个战舰stm32交流群:320350722 新手请教老手,老手大显身手! stm32交流群:320350722 stm32交流群:320350722
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-7-30 20:47:40 | 显示全部楼层
回复【5楼】13128927795:
---------------------------------
自定义的一个值,你可以随意设置。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 05:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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