8位机触摸按键

电容触摸按键

先去找到例程,根据例程来操作是,最快上手的

一,先说软件

  1. 调整波特率,根据芯片的数据手册调波特率
    在这里插入图片描述
    需要注意的是这个表,对应的m值

在这里插入图片描述

  1. 下载touch工具,最好用32位的不管你的芯片是几位的

  2. 确定你芯片用的是那几个通道,由数据手册电容触摸章节中会解释CTx~CTx分别对应那些io,这是固定的这些通道只能用这些io口。

通道的配置,比如我这就是12356通道
通道的配置,比如我这就是12356通道
最后一个是参考通道 ----------------重要-*--------------------
4.调通串口以后你应该开始用touch工具开始测试
双击看单个通道的详细数据,
你要看的东西是:
正常信号值是多少
把手指全压上去时的信号值是多少
吧每个通道的值记下来,后面调参数会用到
在这里插入图片描述

  1. 根据touch手册描述来调整参数
    这个值要设的比全压上去时的信号值大百分之30左右
    在这里插入图片描述

根据板子调这里的参数
在这里插入图片描述

二、Channel_Press_str;返回的数据说明

Channel_Press_str 这个字符串中的每个字符位置对应一个触摸通道的按键状态。
具体对应关系如下:

  1. CTouch_Channel_Tab 数组定义了多个触摸通道的顺序。按这个数组中的顺序,Channel_Press_str 的每个字符位置对应触摸通道。
  2. 如果某个通道的按键被按下,那么 Channel_Press_str 在对应该通道的字符位置上的值为1。
  3. 如果某个通道的按键没有被按下,那么 Channel_Press_str 在对应该通道的字符位置上的值为0。
  4. 所以,通过查看 Channel_Press_str 字符串中的每个位置的值,我们可以知道每个触摸通道按键在当前时刻的按下状态。1 表示按下,0 表示未按下。
    举个例子:
    假设有4个触摸通道,顺序为 CTouch_Channel_Tab = {3, 1, 4, 2}
    在某一时刻,通道3和通道1的按键被按下,其余通道没有被按下。
    那么Channel_Press_str 可以是:
    Channel_Press_str = “1011”
    它表示:
    通道3 - 按键按下 - 1
    通道1 - 按键按下 - 1
    通道4 - 按键未按下 - 0
    通道2 - 按键未按下 - 0
    通过Channel_Press_str,我们可以清楚知道4个触摸通道在同一时刻的完整按键状态。
    返回的是一个16进制数

一些经验

1.如果你的参考线一下就变化了,有可能是最大阈值设的太小了触发了抗干扰重新校准了参考线
2.如果在调试中按键状态亮了,但是灯没亮说明点灯程序有问题,反之如果信号线发生了变化但是状态没变说明参数有问题
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值