电容触摸按键
先去找到例程,根据例程来操作是,最快上手的
一,先说软件
- 调整波特率,根据芯片的数据手册调波特率
需要注意的是这个表,对应的m值
-
下载touch工具,最好用32位的不管你的芯片是几位的
-
确定你芯片用的是那几个通道,由数据手册电容触摸章节中会解释CTx~CTx分别对应那些io,这是固定的这些通道只能用这些io口。
通道的配置,比如我这就是12356通道
最后一个是参考通道 ----------------重要-*--------------------
4.调通串口以后你应该开始用touch工具开始测试
双击看单个通道的详细数据,
你要看的东西是:
正常信号值是多少
把手指全压上去时的信号值是多少
吧每个通道的值记下来,后面调参数会用到
-
根据touch手册描述来调整参数
这个值要设的比全压上去时的信号值大百分之30左右
根据板子调这里的参数
二、Channel_Press_str;返回的数据说明
Channel_Press_str 这个字符串中的每个字符位置对应一个触摸通道的按键状态。
具体对应关系如下:
- CTouch_Channel_Tab 数组定义了多个触摸通道的顺序。按这个数组中的顺序,Channel_Press_str 的每个字符位置对应触摸通道。
- 如果某个通道的按键被按下,那么 Channel_Press_str 在对应该通道的字符位置上的值为1。
- 如果某个通道的按键没有被按下,那么 Channel_Press_str 在对应该通道的字符位置上的值为0。
- 所以,通过查看 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.如果在调试中按键状态亮了,但是灯没亮说明点灯程序有问题,反之如果信号线发生了变化但是状态没变说明参数有问题