- /**********************************************************/
- /***************** Communication - Data Streamer ******************/
- /**********************************************************/
- #define DEF_TOUCH_DATA_STREAMER_ENABLE 1u
屏蔽(Driven Shield)层
作用:提高触摸按钮的抗水雾能力,即如果触摸按钮上有水雾时它也可以正常工作。
说明:需要提供一个PTC功能引脚作为屏蔽层输入引脚
使用START工具设置
使用代码设置
在qTouch/touch.h文件设置屏蔽
- /* Defines the Type of sensor
- * Default value: NODE_MUTUAL.
- */
- #define DEF_SENSOR_TYPE NODE_SELFCAP_SHIELD
START工具和代码中设置任选一种实现方式即可。
屏蔽层Layout图:
阈值(Threshold)设置
作用:当触摸信号高于阈值时才能被qTouch库认为是有效信号。
说明:比如当触摸按钮上覆盖有其他保护层时感应电容的数值会变小,这时可以适当减少阈值使触摸更加灵敏有效。
取值范围:0~255使用START工具设置
使用代码设置
说明:KEY_x_PARAMS第一个参数就是阈值,其中x为0,1,2...等值
- /* Defines Key Sensor setting
- * {Sensor Threshold, Sensor Hysterisis, Sensor AKS}
- */
- #define KEY_0_PARAMS \
- { \
- 20, HYST_25, NO_AKS_GROUP \
- }
START工具和代码中设置任选一种实现方式即可。
响应速度(Detect Integration)设置
作用:响应速度数值越小,说明响应速度越快。说明:当快速触摸时也能有输出,反应到输出波形就是会有窄的脉冲波形。
使用START工具设置
使用代码设置
- /* De-bounce counter for additional measurements to confirm touch detection
- * Range: 0 to 255.
- * Default value: 4.
- */
- #define DEF_TOUCH_DET_INT 4
START工具和代码中设置任选一种实现方式即可。
滤波器(Filtering)设置
作用:使用滤波器可以使输出的触摸信号波形水平部分更加平滑。
说明:设置的数值越高,过滤效果更加明显。
取值:
- typedef enum tag_filter_level_t {
- FILTER_LEVEL_1,
- FILTER_LEVEL_2,
- FILTER_LEVEL_4,
- FILTER_LEVEL_8,
- FILTER_LEVEL_16,
- FILTER_LEVEL_32,
- FILTER_LEVEL_64
- } filter_level_t;
使用START工具设置
点击START工具中的Parameters >> Channel中设置
使用代码中设置
//NODE_x_PARAMS最后一个参数就是过滤等级设置,其中x为0,1,2...等值。
- /* Defines node parameter setting
- * {Shield line, Y-line, Charge Share Delay, Prescaler, NODE_G(Analog Gain , Digital Gain), filter level}
- */
- #define NODE_0_PARAMS \
- { \
- Y(0) | Y(17), Y(16), 20, PRSC_DIV_SEL_12, NODE_GAIN(GAIN_1, GAIN_1), FILTER_LEVEL_16 \
- }
START工具和代码中设置任选一种实现方式即可。
数字增益(Digital Gain)设置
作用:增加输出信号大小。
说明:信号的增量值大小,即高于阈值那一部分的大小。
取值:
- /* Touch library GAIN setting */
- typedef enum tag_gain_t { GAIN_1, GAIN_2, GAIN_4, GAIN_8, GAIN_16 } gain_t;
使用START工具设置
点击Parameters >> Channel打开增益设置窗口
使用代码设置
NODE_GAIN(GAIN_1, GAIN_1)中的第二个参数GAIN_1就是数字增益设置值
- #define NODE_0_PARAMS \
- { \
- Y(0) | Y(17), Y(16), 20, PRSC_DIV_SEL_12, NODE_GAIN(GAIN_1, GAIN_1), FILTER_LEVEL_16 \
- }
START工具和代码中设置任选一种实现方式即可。
防误触(AKS)设置
作用:可以避免当同时触摸到两个触摸按钮时响应两次触摸。
说明:将相邻的触摸按钮分配到同一组,这样当同时触摸到两个触摸按钮时就不会响应两次触摸。
取值:
- typedef enum tag_aks_group_t {
- NO_AKS_GROUP,
- AKS_GROUP_1,
- AKS_GROUP_2,
- AKS_GROUP_3,
- AKS_GROUP_4,
- AKS_GROUP_5,
- AKS_GROUP_6,
- AKS_GROUP_7,
- MAX_AKS_GROUP
- } QTM_aks_group_t;
使用START工具设置
点击Parameters >> Channel打开AKS设置窗口
使用代码设置
KEY_x_PARAMS最后一个参数就是AKS了,其中x取0,1,2..。如果需要将KEY0、KEY1分成组1,只需要将两个NO_AKS_GROUP修改为AKS_GROUP_1即可。
- /* Defines Key Sensor setting
- * {Sensor Threshold, Sensor Hysterisis, Sensor AKS}
- */
- #define KEY_0_PARAMS \
- { \
- 20, HYST_25, NO_AKS_GROUP \
- }
START工具和代码中设置任选一种实现方式即可。
跳频(Frequency Hop)设置
作用:降频以增强抗干扰能力
使用START工具设置
点击Parameters >> Sensor打开Enable Frequency Hop设置窗口
使用代码设置
将宏定义DEF_FREQ_AUTOTUNE_ENABLE值修改为1即可启动跳频功能
- /* Enable / Disable the frequency hop auto tune
- * Range: 0 / 1
- * Default value: 1
- */
- #define DEF_FREQ_AUTOTUNE_ENABLE 1
START工具和代码中设置任选一种实现方式即可。