杰理芯片SDK开发-内置触摸按键配置教程

前言

到现在为止也开发了许多杰理TWS蓝牙耳机项目SDK的案子,在调试案子时不断的向前辈们学习到了很多关于蓝牙TWS耳机专业的知识。想在这里做一个学习汇总,方便各位同行和对杰理芯片SDK感兴趣的小伙伴们学习;

本章详细讲解杰理TWS耳机项目SDK开发中内置触摸按键配置

在调试一个TWS蓝牙耳机案子时,按键通常是我们必须要添加的功能,通过按键我们可以实现音量的增大/减少,歌曲的播放/暂停,曲目的切换,开机/关机等特定功能;在杰理SDK中有非常多的按键种类在board_xxx_demo_cfh.h文件中可供我们配置如下图;

按键配置:


GPIO引脚配置


AD电压值配置


红外按键配置


内置触摸按键配置


内置触摸按键感应原理

内置触摸按键检测模块是利用人体分布电容对触摸按键电容影响来进行按键检测的,如下图:

当人体触摸外部电容按键时,IO口外部电容增加,芯片内部的触摸感应模块可以检测到该电容变化,从而检测到按键是否被按下。在没有触摸的时候,PCB板走线和其他寄生电容组成了触摸按键固有电容Cp,当按键被触摸,电容增加了Cs,当Cs/Cp越大时,触摸按键检测越灵敏,PCB layout建议尽可能减少Cp,增加Cs,以增加触摸按键灵敏度。


内置触摸按键配置详细介绍

内置触摸按键功能开关配置在board_xxx_demo_cfg.h文件中,如下图所示;


内置触摸按键结构体配置在board_xxx_demo.c文件中,如图所示;

结构体详细讲解:

.ch[ 0 ].enable为触摸模块开关,可以直接赋值为1或与TCFG_LP_TOUCH_KEY0_EN宏定义进行绑定。

.ch[ 0 ].port为触摸模块检查GPIO脚,因为是内置触摸按键。原厂已配置好。所以不能进行修改

.ch[ 0 ].sensitivity为触摸按键电容灵敏度配置,通过TCFG_LP_TOUCH_KEY0_SENSITIVITY宏定义进行灵敏度的修改也可以通过配置工具配置

.ch[ 0 ].key_value为触摸按键键值,非常重要是直接跟key_table按键消息表关联。当单击、双击、长按、持续长按等操作时,会直接响应key_table按键消息表的事件;


key_table按键消息表详细介绍

key_table按键消息表在board_xxxx_demo.c文件中,如图所示:

key_table按键消息表有三个非常重要的参数需要我们开发人员特别注意:

参数1:为按键键值,按键键值是直接跟key_table数组的行元素对应的。例如说:按键键值设置为0,那么就对于key_table数字的0行索引也就是第一行;

参数2:为按键操作类型,按键操作类型是直接跟key_table数组的列元素对应的。例如说:配置了按键键值为0,执行单击事件。那么直接映射key_table数组的行索引0列索引0也就是第一行第一列key_music_pp事件;

参数3:为按键执行操作后TWS耳机应该执行什么功能;例如单击事件KEY_EVENT_CLICK操作后,TWS耳机执行KEY_MUSIC_PP音乐播放/暂停操作;

参数2:按键操作类型在event.h文件中,如下图

参数3:按键操作执行功能事件在key_event_deal.h文件中,如下图所示:


制作不易!喜欢的小伙伴给个小赞赞!喜欢我的小伙伴点个关注!有不懂的地方和需要的资源随时问我哟!

相关推荐
Lester_11015 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元5 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133975 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315205 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书5 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
TDengine (老段)5 天前
TDengine IDMP 数据可视化——散点图
大数据·数据库·物联网·信息可视化·时序数据库·tdengine·涛思数据
Lupino5 天前
从逻辑“脑裂”到 AI 重构:不到 2 美金解决物联网电位反转难题
python·物联网
Alaso_shuang5 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟5 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126915 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发