MCU——TC04B触摸按键芯片驱动

本文详细介绍了MCU驱动TC04B触摸按键芯片的操作说明,包括时序(Data&Clock)和键值读取。在时序中,当触摸键被按,Data脚输出低电位,主机通过Clock脚读取按键值。键值部分提到,Bit6~Bit4为校验和,Bit3~Bit0指示按键状态。代码说明部分阐述了如何正确读取和解析数据。
摘要由CSDN通过智能技术生成

前言:经常写一些触摸按键相关的代码,整理如下。方便查阅。


1. 操作说明

1.1 时序(Data&Clock)

  TC04B 配备有一个串行接口,允许与外部设备进行简单的通讯。当触摸芯片侦测到触摸键被按,会在Data 脚输出低电位,可唤醒主机,主机在接收到低电位后,由 Clock 脚输出时钟信号,并从 Data 脚回读按键值。

  当在 Clock 脚输入低电位时,触摸芯片准备数据Clock 脚送出高电位后,主机从Data 线读取数据。每次读取数据以 8 个时钟信号一组。也可用轮询的方式直接读取键值,不必等待 Start 位。当数据读取错误时,需等 6ms 左右 , 才能再重新读取一次。

1.2 键值

  当 Clock 引脚接收到时钟信号,触摸芯片将会产生一个 8 位的数据字节,并从 Data引脚移出。其中 Bit6 ~ Bit4 产生校验和,用来表示被触摸按键的总数。例如校验和为“010”,这意味着有两个键被触摸。至于是哪个按键被触摸,可以查看 Bit3 ~ Bit0 位状态。Bit3 ~ Bit0 用于指示相应的触摸按键Key4 ~ Key1 是否被触摸。若为零则表明相应的按键被触摸,若为 1,则表明相应按键未被触摸

bit 描述
Start bit 当按键状态改变时, 由 Data 脚送出低电位,唤醒主机,主机读取键值
Bit0 Key1 状态 (0= 按键,1= 松键 )
Bit1 Key2 状态 (0= 按键,1= 松键 )
Bit2 Key3 状态 (0= 按键,1= 松键 )
Bit3 Key4 状态 (0= 按键,1= 松键 )
Bit6~4 核对总数:“0”的总数,即被触摸按键的总数。
Bit7 停止位,永远为 “1”( 高状态 )

在这里插入图片描述

代码说明

  1. 获取一个字节需要的Clock周期数为8,并且每个Clock周期的高低电平分别占用半个周期,所以在获取一个按键字节时整个Clock引脚改变次数为
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值