默认状态下触摸按键所有键的灵敏度是一样的,但是实际应用不是这样的。各个键都有可能不一样。
实现不同灵敏度的方法如下:
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 (在该配置情况下)
关键字:stm8 触摸按键 调试笔记
引用地址:
stm8触摸按键调试笔记
推荐阅读最新更新时间:2024-03-16 16:10
stm8 时钟输出引脚
CLK_CCO引脚是STM8的时钟输出引脚,若设置该脚输出主时钟Fmaster,时钟输出寄存器可以进行如下操作 CLK- CCOR=0X19;
[单片机]
STM8单片机学习总结05-蓝牙模块
本次操作使用的“蓝牙模块”为“HC-06”,主要注意以下几点: 01)、“HC-06”(蓝牙模块)而言,其与“HC-05”一样,均采样“AT指令”控制,但需注意: i)、“HC-06”为“串口”连接,电压为“+5.0V”,“波特率”默认“9600”,“设备名称”默认“HC-06”,“配对密码”默认“1234”; ii)、“HC-06”发送“AT指令”时,末尾不需加“\r\n”(Enter键); iii)、需与“手机app”配合使用,推荐“蓝牙串口助手 Pro”; 02)、“HC-06”对应“AT指令”主要操作为以下4项: i)、“测试通信”:发送“AT”,返回“OK”; ii)、修改“波特率”:发送“AT+BAUDx”,“x”为“
[单片机]
STM8 定时器TIM1 计时
ST公司的STM8单片机的TIM1定时器,是一个16位高级控制定时器,可用于实现基本的定时,PWM波的产生,这里主要分析下基本的计时功能。 我们先看ST提供的库函数中TIM1定时器的初始化函数 void TIM1_TimeBaseInit(uint16_t TIM1_Prescaler, TIM1_CounterMode_TypeDef TIM1_CounterMode, uint16_t TIM1_Period, uint8_t TIM1_RepetitionCounter) 其中,TIM1_Prescaler是一个16位的分频配置,可输入值为0
[单片机]
STM8 模拟/数字转换器(ADC) 转换模式
STM8模拟/数字转换器(ADC)转换模式 ADC支持5种转换模式:单次模式,连续模式,带缓存的连续模式,单次扫描模式,连续扫描模式。 单次模式 在STM8的ADC单次转换模式中,ADC仅在由ADC_CSR寄存器的CH 选定的通道上完成一次转换。该模式是在当CONT位为0时通过置位ADC_CR1寄存器的ADON位来启动的。 一旦转换完成,转换后的数据存储在ADC_DR寄存器中,EOC(转换结束)标志被置位,如果EOCIE被置位将产生一个中断。 连续和带缓存的连续模式 续转ADC在完成一次转换后就立刻开始下一次的转换。当CONT位被置位时即在连换模式中,将ADC设为连续模式,该模式是通过置位ADC_CR1寄存器的ADON
[单片机]
STM8 同时的和嵌套的中断管理
STM8S提供2种中断管理模式: 同时发生模式 嵌套模式 STM8同时发生中断管理模式 在该模式下,所有的中断的中断优先级都是3级,因此它们都是不可以被中断的(除了被TLI,RESET或TRAP中断之外)。 硬件的中断优先级按如下顺序排列,从低到高的优先级是:MAIN,IT4,IT3,IT2,IT1,IT0,TRAP/TLI(同等优先级)以及RESET。 图19所示是一个同时发生中断管理模式的例子。 (图18:同时发生中断管理模式) STM8嵌套中断管理模式 在该模式下,允许在中断子程序中响应中断。一旦一个中断的优先级被设置低于3级时该模式就立即有效。 硬件优先级从低到高按如下顺序给定,即MAIN,IT4,I
[单片机]
STM8 开发环境、最小项目工程、最小系统
一、STM8开发环境 使用STM8需下载下列工具: 1、ST 8bit MCU通用集成开发环境 - ST Visual Develop http://www.st.com/stonline/products/support/micro/files/st7toolset.exe IDE包含代码编辑、汇编编译器、代码调试功能,不含C编译器。同时IDE还自带ST Visual Programer编程软件,支持主流8bit 2、COSMIC C Compiler for STM8 16K Limited http://www.cosmicsoftware.com/download_stm8_16k.php 免费下
[单片机]
STM8 刹车功能 马达控制
STM8 刹车功能 STM8刹车功能常用于马达控制中。当使用刹车功能时,依据相应的控制位(TIM1_BKR寄存器中的MOE、OSSI和OSSR位),输出使能信号和无效电平都会被修改。 MCU系统复位后,刹车电路被禁止,MOE位为低。设置TIM1_BKR寄存器中的BKE位可以使能刹车功能。刹车输入信号的极性可以通过配置同一个寄存器中的BKP位选择。BKE和BKP可以被同时修改。 MOE下降沿相对于时钟模块可以是异步的,因此在实际信号(作用在输出端)和同步控制位(在TIM1_BKR寄存器中)之间设置了一个再同步电路。这个再同步电路会在异步信号和同步信号之间产生延迟。特别的,如果当它为低时写MOE=1,则读出它之前必须先插入一个延时
[单片机]
分享A7105无线模块调试点对点通信的笔记
A7105无线模块相比nRF2401和nRF24L01的寄存器来说,是比较多的,有51个,开始比较难看得懂,但编写程序先要先看一些重要的寄存器,和提供的测试程序,了解其相关的寄存器的配置和初始化的配置,还是了解其六种相关的模式,分别是STBY,SLEEP,PLL TX ,RX ,TX FIFO,RX FIFO模式的配置. 初始化的配置: 1、复位芯片 2、写入ID地址(2到4个字节,可进行配置,不过一般的话用4个字节的地址) 3、配置相关的寄存器(除特殊的以外) 特殊的寄存器,不进行配置有: // 0x00 mode register, for reset // 0x05 fifo da
[单片机]