×
嵌入式 > 技术百科 > 详情

stm8触摸按键调试笔记

发布时间:2020-06-03 发布时间:
|

默认状态下触摸按键所有键的灵敏度是一样的,但是实际应用不是这样的。各个键都有可能不一样。
实现不同灵敏度的方法如下:
TSL_SCKey_Init()函数里面初始化了灵敏度
    pKeyStruct->DetectThreshold = SCKEY_DETECTTHRESHOLD_DEFAULT;

我们增加一个数组,保存各个按键的灵敏度:
const u8 SCKEY_DETECTTHRESHOLD[NUMBER_OF_SINGLE_CHANNEL_KEYS]
=
{
  SCKEY_DETECTTHRESHOLD_DEFAULT,    // for TS1
  SCKEY_DETECTTHRESHOLD_DEFAULT - 5 // for TS2, TS2 sensitivity is lower
};
把之前的pKeyStruct->DetectThreshold = SCKEY_DETECTTHRESHOLD_DEFAULT;
改为pKeyStruct->DetectThreshold = SCKEY_DETECTTHRESHOLD[KeyIndex];即可

按键响应时间计算
按键的响应时间取决于很多参数,比如通道数量、防抖滤波器的值、重复采样值、用户固件工作任务、电介质厚度、电极电容和电阻R的值。
如下公式可以用来估算最大的按键响应时间: 
最大响应时间 = [(DF+1) x tS x NB_channels] + (DF x tU) 
这里: 
tS = 近似1ms (对于一个通道的标准 RC 采集时间) 
NB_channels = 通道的编号
DF = 防抖动的滤波器的值(用户可编程) 
tU = 用户固件的执行时间
例如:对于一个4个按键的应用: 
DF = 2 (标准值) 
tS = 4 ms 
tU = 1 ms (例子/取决于应用) 
响应时间 = 14 ms (在该配置情况下)


 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
国产CPU急流勇进