ch552g使用torch-pad测试触摸按键遇到的问题

基本工作原理

通过设置好功能在寄存器和控制寄存器检测引脚输入的值。

实际检测阶段分为3个步骤:第一阶段:选择需要检测的阶段,选择扫描周期1或2ms,开启触摸按键中断,然后在87us内为充电准备阶段,87us内数据寄存器的值就是上周期读取的触摸按键 的值。第二阶段: 87us后到1或2ms是触摸按键的寄存器读取本周期按键值,第三阶段 :1或2ms后完成一个周期触摸按键检测,然后进入中断,在中断中检测触摸键值

1,工作电压的问题

使用5v工作电压 ,在测试中使用串口打印读取的转换数据,发现只有在5v时才能正常输出,3.3v的输出有问题

2,进入中断后先关闭触摸按键中断

由于扫描周期太短,防止刚离开中断就再次进入中断

3,读取数据的方式

不需要设置任何通信方式,在设置好对应的寄存器后,直接在中断中读取对应寄存器中的值就可以了。

4,也要考虑干扰噪声的情况

5,不需要再触摸引脚并联电容

有些芯片需要和触摸引脚并联电容,但通过比较发现,若并联电容会发现读取的寄存器的值一直不变

6,中断开启和关闭的位置和很关键

进入中断后立即关闭 ,当下次检测一个通道时再打开

相关推荐
散峰而望4 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
冷凝雨4 小时前
复数乘法(C & Simulink)
c语言·开发语言·信号处理·simulink·dsp
IT阳晨。4 小时前
【STM32】天气预报项目
stm32·单片机·嵌入式硬件
CoderCodingNo4 小时前
【GESP】C++五级真题(贪心思想考点) luogu-B4071 [GESP202412 五级] 武器强化
开发语言·c++·算法
0和1的舞者4 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
MoonBit月兔4 小时前
年终 Meetup:走进腾讯|AI 原生编程与 Code Agent 实战交流会
大数据·开发语言·人工智能·腾讯云·moonbit
智航GIS4 小时前
8.2 面向对象
开发语言·python
小小星球之旅5 小时前
CompletableFuture学习
java·开发语言·学习
智者知已应修善业5 小时前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
kylezhao20196 小时前
C# 语言基础(变量、数据类型、流程控制、面向对象编程)
开发语言·计算机视觉·c#·visionpro