Touch配置快捷方法

一、概述

本文以APT32F1023 为例介绍了触摸按键应用时在程序配置快捷步骤,目前提供的库有STD和CSI两种风格代码,触摸部分参数基本一致,配置方式类似。下面以STD库为例描述触摸配置典型四步骤,四步骤配置完基本满足大部分产品应用,特殊应用或者特殊测试需要再针对性调整其他参数,本文不作详细介绍。

二、配置步骤

第一步:使能触摸引脚

TK_IO_ENABLE=TCH_EN(4)|TCH_EN(5)|TCH_EN(7)|TCH_EN(8);

第二步:选择C0电压(扫描电压配置)

  Touch 的扫描电压通过三个变量配置:TK_PSEL_MODE、TK_FVR_LEVEL、TK_EC_LEVEL。

  TK_PSEL_MODE 可以配置成芯片的VDD、FVR

  TK_FVR_LEVEL 可以配置成FVR_2048、FVR_4096

  TK_EC_LEVEL 可以配置成1V、2V、3V、3.6V

TK_PSEL_MODE = TK_PSEL_AVDD;
TK_FVR_LEVEL = TK_FVR_2048V;
TK_EC_LEVEL  = TK_EC_3V;

注意:

  1.PSEL_MODE 选择FVR 时,PA0.2(TCH3)不能再做触摸输入功能,且必须接一颗104 电容到地。

  2.FVR_LEVEL 可以选择2.048V 或者4.096V,如果PSEL_MODE 选择的是VDD,那此参数配置无效。选择的FVR 参考电压必须比VDD 电压小500mV 以上。比如VDD 为3.3V,那FVR 只能选择2.048V。

  3. EC_LEVEL 为C0 脚的充放电电压,必须比VDD 电压小500mV 以上。比如VDD 为3.3V,那么EC_LEVEL 只能选择1V、2V。

第三步:配置ICON值

如果补偿电流配置不合理会导致程序在初始化的时候失败卡死在void TK_CONFIG(void)函数中,此时应根据PCB 的布局情况适当调整补偿电流参数,补偿电流值范围0-7,默认为4,如果触摸的走线很长、很绕、离地线近可逐步增加补偿电流值,反之减少补偿电流值。

TK_icon[0]  = 4;        //TCH0 TK Scan icon range 0~7
TK_icon[1]  = 4;        //TCH1 TK Scan icon range 0~7
TK_icon[2]  = 4;        //TCH2 TK Scan icon range 0~7
TK_icon[3]  = 4;        //TCH3 TK Scan icon range 0~7
TK_icon[4]  = 4;        //TCH4 TK Scan icon range 0~7
TK_icon[5]  = 4;        //TCH5 TK Scan icon range 0~7
TK_icon[6]  = 4;        //TCH6 TK Scan icon range 0~7
TK_icon[7]  = 4;        //TCH7 TK Scan icon range 0~7
TK_icon[8]  = 4;        //TCH8 TK Scan icon range 0~7
TK_icon[9]  = 4;        //TCH9 TK Scan icon range 0~7
TK_icon[10] = 4;        //TCH10 TK Scan icon range 0~7
TK_icon[11] = 4;        //TCH11 TK Scan icon range 0~7
TK_icon[12] = 4;        //TCH12 TK Scan icon range 0~7
TK_icon[13] = 4;        //TCH13 TK Scan icon range 0~7
TK_icon[14] = 4;        //TCH14 TK Scan icon range 0~7
TK_icon[15] = 4;        //TCH15 TK Scan icon range 0~7
TK_icon[16] = 4;        //TCH16 TK Scan icon range 0~7

第四步:配置灵敏度参数值

如果按键出现误动作或者触摸不灵敏,通过调节TK_Triggerlevel 参数。可通过Serialplot 工具配合分析,

获取MCU 按键差值和按键采样基准值参数,通过UARTTX 发送实时的触摸数据。灵敏度参数一般设为按键差值(offset_data)的60%,Serialplot 工具使用方法请参考《AN1511 Touch Key 使用串口工具波形分析使用指南》文档。也可以直接逐步增加或者减少灵敏度参数值,此方法简单快捷但比较模糊。

TK_Triggerlevel[0]  = 60;        //TCH0 TK_Trigger level
TK_Triggerlevel[1]  = 60;        //TCH1 TK_Trigger level
TK_Triggerlevel[2]  = 60;        //TCH2 TK_Trigger level
TK_Triggerlevel[3]  = 60;        //TCH3 TK_Trigger level
TK_Triggerlevel[4]  = 60;        //TCH4 TK_Trigger level
TK_Triggerlevel[5]  = 60;        //TCH5 TK_Trigger level
TK_Triggerlevel[6]  = 60;        //TCH6 TK_Trigger level
TK_Triggerlevel[7]  = 60;        //TCH7 TK_Trigger level
TK_Triggerlevel[8]  = 60;        //TCH8 TK_Trigger level
TK_Triggerlevel[9]  = 60;        //TCH9 TK_Trigger level
TK_Triggerlevel[10] = 60;        //TCH10 TK_Trigger level
TK_Triggerlevel[11] = 60;        //TCH11 TK_Trigger level
TK_Triggerlevel[12] = 60;        //TCH12 TK_Trigger level
TK_Triggerlevel[13] = 60;        //TCH13 TK_Trigger level
TK_Triggerlevel[14] = 60;        //TCH14 TK_Trigger level
TK_Triggerlevel[15] = 60;        //TCH15 TK_Trigger level
TK_Triggerlevel[16] = 60;        //TCH16 TK_Trigger level

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值