stm8触摸按键调试笔记(1)

默认状态下触摸按键所有键的灵敏度是一样的,但是实际应用不是这样的。各个键都有可能不一样。
实现不同灵敏度的方法如下:
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 (在该配置情况下)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

goodlinux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值