[STM32F0] 3通道电容触摸滑动按键的位置计算

[复制链接]
323|0
 楼主| WHALEE 发表于 2025-6-2 22:38 | 显示全部楼层 |阅读模式
为了理解基于电容式触摸/ TSC库的应用,我一直在研究STM32 F072 B-Disco评估板AN 5105中给出的基于轮询的示例代码。有几个问题如下,我无法理解,甚至在查看ST的各种应用说明后也没找到答案。
1.分辨率和计算的触摸位置的滑块在0到255:
TSC提供的头文件tsl_conf. h具有以下参数:
#define TSLPRM_LINROT_RESOLUTION(7)//以位数为单位的位置分辨率(范围=1..8)
#define TSLPRM_USE_3CH_LIN_H(1)//
MyLinRots[0].p_Data->Position结构用于比较0. 255,但我不理解滑块/通道上触摸的值和位置的相关性。分辨率值1...8是否影响计算?
是否有基于分辨率参数的位置值计算公式,根据滑动条上触摸的值来选择通道?
2.在另一个例子中,配置了STM32 F072 B-Disco板上的触摸通道作为3个单独的触摸键。若保持TSLPRM_TKEY_Detect_IN_TH,
tsl_conf. h头文件中的TSLPRM_TKEY_Detect_OUT_TH参数默认为110 & 120,项目编译没有任何错误。
//触摸键检测状态输入阈值(范围=0.. 255)
#define TSLPRM_TKEY_DETECT_IN_TH(110)
//触摸键检测状态输出阈值(范围=0.. 255)
#define TSLPRM_TKEY_DETECT_OUT_TH(120)
配置了这些参数值,经常很难检测到触摸,所以我将检测阈值重新配置为较低的50。
#define TSLPRM_TKEY_DETECT_IN_TH(50)
通过这种修改,会出现如下编译错误:
../ Middlewares/ST/STM32_TouchSensing_Library/inc/tsl_check_config.h(162):
错误:#35:#错误指令:“TSLPRM_TKEY_DETECT_OUT_TH超出范围

(TSLPRM_TKEY_PROX_IN_TH+1.. TSLPRM_TKEY_DETECT_IN_TH-1)。"

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

本版积分规则

42

主题

42

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部