OpenEdv-开源电子网

 找回密码
 立即注册
查看: 4872|回复: 6

求助touchgfx下按键音和GT911触摸IC的轮询如何实现?

[复制链接]

1

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-3
在线时间
16 小时
发表于 2021-9-15 23:12:58 | 显示全部楼层 |阅读模式
40金钱
如题,有两个问题:问题1.触摸IC用的GT911,当触摸按键时,示波器看到INT脚产生连续的脉冲,所以程序轮询时会连续检测到若干信号,坐标传给touchgfx后,看不到button的按下效果就直接响应了,如果轮询加“count”之类的计数的话,滑动条一类的UI就会有顿挫;求问GT911正确的轮询方式?

问题2.touchgfx按键音要怎么实现,如果以触摸信号来判断的话,无效触摸(触摸空白处)也会播放按键音,如果每个触摸控件都单独添加按键音的话,代码又太繁琐了,而且滑动条一类的UI控件手没抬起来会一直播放音效。

以上两个问题困扰了几个月了,一直没好的方法实现,刚接触TOUCHGFX不久,求大神支支招,万分感谢!!!

最佳答案

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

请先把你的每一个问题的示意代码贴出来,gt911可以采用外部中断触发的方式来轮询试一试,对于按键音你想即简单而又完整统一起来,估计没那么容易的,还是在需要的提示音的地方插入代码,不过代码可以优化的很简洁,应该不会繁琐的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

61

帖子

1

精华

版主

Rank: 7Rank: 7Rank: 7

积分
2126
金钱
2126
注册时间
2018-8-13
在线时间
262 小时
发表于 2021-9-15 23:12:59 | 显示全部楼层
请先把你的每一个问题的示意代码贴出来,gt911可以采用外部中断触发的方式来轮询试一试,对于按键音你想即简单而又完整统一起来,估计没那么容易的,还是在需要的提示音的地方插入代码,不过代码可以优化的很简洁,应该不会繁琐的
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-3
在线时间
16 小时
 楼主| 发表于 2021-9-16 22:45:07 | 显示全部楼层
fish物联 发表于 2021-9-16 18:35
请先把你的每一个问题的示意代码贴出来,gt911可以采用外部中断触发的方式来轮询试一试,对于按键音你想即简 ...

谢谢回复,GT911这个其实不是代码的问题,是我没搞清楚实现的逻辑,我用其他触摸IC基本上都是当触摸按下,INT产生一个电平翻转并维持,直到触摸松开,电平才再次翻转;而GT911是触摸按下之后,只要手没松开,INT就一直有脉冲,就算寄存器清零了也会再次触发,除非手松开;试了好几个厂家的屏,只要是GT911都是这样,这应该不是我代码或者配置的问题吧,那么这种一直触发的方式要怎么处理呢?
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-3
在线时间
16 小时
 楼主| 发表于 2021-9-16 22:52:34 | 显示全部楼层
fish物联 发表于 2021-9-16 18:35
请先把你的每一个问题的示意代码贴出来,gt911可以采用外部中断触发的方式来轮询试一试,对于按键音你想即简 ...

另外按键音这个说具体点就是,我想知道TOUCHGFX是否存在一个统一的有效触摸(或者说会产生响应的触摸)标志,然后我获取这个标志再去判断具体哪个控件被触摸了是否需要播放音效等;这样子我就不需要在编辑每个控件的时候都惦记按键音了。不过实在没有的话那也只能按您说的优化一下代码来用了。
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-3
在线时间
16 小时
 楼主| 发表于 2021-9-16 22:56:09 | 显示全部楼层
fish物联 发表于 2021-9-16 18:35
请先把你的每一个问题的示意代码贴出来,gt911可以采用外部中断触发的方式来轮询试一试,对于按键音你想即简 ...

中断我没试过,不过按照这个一次触摸多次触发的逻辑,结果我觉得应该是一样的,一次触摸会多次进入中断。
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-3
在线时间
16 小时
 楼主| 发表于 2021-9-17 01:57:26 | 显示全部楼层
fish物联 发表于 2021-9-15 23:12
请先把你的每一个问题的示意代码贴出来,gt911可以采用外部中断触发的方式来轮询试一试,对于按键音你想即简 ...

额,再次感谢,GT911的问题已经解决了,我轮询的时候,设置一个触摸状态,检测到低电平标记有触摸按下,在这之后一旦检测到高电平,开启定时器定时1ms,超时回调函数里标记状态无触摸,在定时这段时间如果再次检测到低电平,则关闭定时器(此时依旧是有触摸状态)。附一张GT911 INT在有触摸时波形图,可以看到触摸按下,会产生连续脉冲,轮询的时候完全有可能轮询到高电平但是触摸却没有松开。
话说别人到底是怎么用的这个触摸IC? 难道别人都检测不到中间脉冲高电平?网上的很多示例我都试过了,在我这就是行不通,醉了,其实现在回头想想不过一个简单的逻辑问题,被各种绕蒙了。
至于按键音,我再想想,大概率只能每个控件都增加个音效属性了。

GT911 INT引脚波形

GT911 INT引脚波形
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-3
在线时间
16 小时
 楼主| 发表于 2021-9-17 01:58:03 | 显示全部楼层
fish物联 发表于 2021-9-15 23:12
请先把你的每一个问题的示意代码贴出来,gt911可以采用外部中断触发的方式来轮询试一试,对于按键音你想即简 ...

额,再次感谢,GT911的问题已经解决了,我轮询的时候,设置一个触摸状态,检测到低电平标记有触摸按下,在这之后一旦检测到高电平,开启定时器定时1ms,超时回调函数里标记状态无触摸,在定时这段时间如果再次检测到低电平,则关闭定时器(此时依旧是有触摸状态)。附一张GT911 INT在有触摸时波形图,可以看到触摸按下,会产生连续脉冲,轮询的时候完全有可能轮询到高电平但是触摸却没有松开。
话说别人到底是怎么用的这个触摸IC? 难道别人都检测不到中间脉冲高电平?网上的很多示例我都试过了,在我这就是行不通,醉了,其实现在回头想想不过一个简单的逻辑问题,被各种绕蒙了。
至于按键音,我再想想,大概率只能每个控件都增加个音效属性了。
未命名.png
回复

使用道具 举报

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

本版积分规则

关闭

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

正点原子公众号

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

GMT+8, 2024-5-19 10:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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