CH32V通用MCU工程添加触摸库说明

CH32V通用MCU工程添加触摸库说明

       本说明所指的通用MCU包含CH32X03x系列,CH32Vx系列,CH32V30x系列。

       添加的触摸库包含:CH32_touchKey.h、libCH32X035_TKY.a/lib_CH32V203_TKY.a/libCH32V307.a(具体库文件根据MCU系列选择);使用前必须按所选择的通道数量重新定义 CH32_touchKey.h 中的如下宏定义:

        #define MAX_QUEUE_NUM 2 //--使用的触摸按键通道数目—

        其中 MAX_QUEUE_NUM,必须和通道初始化中的初始化数量(即按键数量)严格对应。

        此外需要在工程里定义一个数组,用于初始化,数组名称不限,长度为宏定义MAX_QUEUEBUF_LEN,如 UINT8 tkyBuf[MAX_QUEUEBUF_LEN];

触摸按键的流程如下:

触摸按键添加库流程

触摸基础初始化参数中需要注意的几个参数如下:

  1. 滤波模式:目前主要推荐模式3或者模式5,模式3是阻塞模式的,模式5是非阻塞式的;
  2. 滤波等级:数字越大,获取按键的时间就越长;
  3. 触摸按键缓存:在工程中添加的数组“tkybuf[MAX_QUEUE_NUM]”;
  4. 其余参数可以不做修改;

触摸通道初始化中需要注意的参数如下:

  1. 队列号:触摸按键在键值中的bit位;
  2. 通道号:触摸按键对应的ADC通道;
  3. 上升门槛值:建议最大变化量的70%;
  4. 下降门槛值:可以根据按键响应速度要求比上升门槛值大或者小,但是不建议超过最大变化量的90%或者小于最大变化量的40%;
  5. 充电时间:该参数比较重要,通过调整该参数将基线值调整到3200~3800之间,只有见限制在这个范围才能将触摸按键最准确的检测到。
  6. 睡眠模式基本都给0,低功耗应用的时候给1;
  7. 基线值获取:参考例程即可,不需要修改;

所有初始化配置完成后,需要在程序主循环中打印每个通道的基线值以及采样值,根据基线值大小调整充电次数,直至基线值保持在3200-3800之间并相对稳定;根据通道采样值确定上升门槛值以及下降门槛值,通过这两个值确定按键响应速度以及按键扫描结果。

通过以上调整完成后就可以进行正常的按键检测。对于触摸按键有认证以及检测要求的需要与我们的FAE单独联系,确认检测内容以及需求。

posted @ 2023-12-27 16:52  WCH_CH32  阅读(182)  评论(0编辑  收藏  举报