cpt212b--- 触摸芯片配置
软件的应用:
1.可以依照你所需要的芯片类型建立适当的工程,下面是在没有j-link的情况时的一种操作方式
建立完工程后,cpt212b的配置参数页面如上,更改参数点击Save 按钮,软件自动生成 .h 的文件,如下图,我们配置cpt212b的参数生成完毕,可以直接拿来用。
做到这一步,你可以用官方的开发版将数据直接下载到芯片中,若果选择i2c的配置方式,继续向下走。先看官方的手册文档。
摘自电子世界:https://www.sekorm.com/news/64319252.html
CPT212B是Silicon Labs公司推出的支持12个电容式触摸按键的触摸芯片,可以很方便的实现4*3的矩阵键盘。CPT212B高度集成化,只需要简单调整触摸参数,就可以实现触摸功能。CPT212B的触摸参数配置有两种方式,一种是通过C2接口,使用烧录器直接烧写Hex文件进行配置;一种是使用MCU通过I2C接口进行配置。
因为CPT212B需要MCU协助完成触摸按键实现具体功能,所以使用MCU配置触摸按键参数,只需要增加配置参数的程序代码,就可以省略使用烧写工具烧写配置参数的生产流程,节约生产成本。
使用MCU配置触摸按键参数,需要先把触摸按键的参数导入MCU的工程中。参数的获取可以从上文步骤操作,会生成一个“cpt212b_a01_gm_init.h”的头文件,将该头文件拷贝到工程中,以备程序调用。
CPT212B复位后,进入参数配置模式,此时触摸按键不会动作。如果想直接进入触摸按键传感器模式,需要通过0x8指令进行配置,指令格式如图一所示。
图1 模式切换指令
配置模式时,CPT212B的I2C从地址固定为0xC0。传感器模式时,I2C的从地址是由配置参数时配置的从地址。所以在程序中需要定义两个不同的从地址。
在配置模式时,将触摸按键参数写入CPT212B,需要通过以下步骤进行操作,且每一步操作成功,才能写入配置参数。每一条指令完成时,CPT212B会返回ACK。
1. CPT212B解锁
向I2C的0xC0地址写入0x9,0xA5,0xF1三个数据。0x9为解锁指令,0xA5和0xF1为解锁参数。参数固定不变,使用其他参数无法完成解锁操作。
2. 擦除原有配置参数
向I2C的0xC0地址写入0xA指令开始擦除参数。完成后I2C会返回ACK。
3. 写入新参数
向I2C的0xC0地址写入0xB指令写入新参数,每条指令只能写入8个字节的参数,所以要将所有参数写入CPT212B,需要重复使用0xB指令。
4. 写入CRC校验码
向I2C的0xC0地址写入0xC指令,后面带两个字节的校验码值。该校验码在“cpt212b_a01_gm_init.h”头文件中自动生成:#define CPT212B_A01_GM_DEFAULT_CONFIG_CHECKSUM (0xA95B),可以直接调用该值。
5. 验证写入正确性
向I2C的0xC0地址发送读命令,返回一个字节值。如果返回0x80,表示写入正确,成功完成参数更新;如果返回0x01,表示出现错误,未能正确写入。
整个参数写入流程的指令格式如图2所示。
图2 写入配置参数指令集
Silicon Labs公司的开发SLSTK2021上有提供CPT212B的例程,例程路径:“..\SimplicityStudio\v4\developer\sdks\8051\v4.1.5\examples\EFM8BB2_SLSTK2021A\CPT212B_Demo”,在C文件smbus.c中,有完整的配置流程代码。该例程中,CRC校验码由EFM8BB2的硬件CRC生成,许多MCU不带硬件CRC功能,可以直接调用配置头文件中的CRC校验值,省掉CRC生成函数。官方是有sdk固件包,有i2c 的样例,移植就可,下载sdk包的方式如下:
具体的配置步骤按住官方demo 操作实现,可以看官方手册和函数手册
可以看到没个参数的范围,及它的作用。
cpt212b--- 触摸芯片配置的更多相关文章
- VKD224B触摸芯片调试笔记
1.通过阅读datasheet了解芯片怎么使用,一般datasheet会提供参考电路.和相应的电气参数. 通过上面的表格可以知道芯片的供电,所需电流. 这个芯片可以通过引脚选择模式.通过上面的选项设置 ...
- Spartan6系列之芯片配置模式详解
1. 配置概述 Spartan6系列FPGA通过把应用程序数据导入芯片内部存储器完成芯片的配置.Spart-6 FPGA可以自己从外部非易失性存储器导入编程数据,或者通过外界的微处理器.DSP等对 ...
- Archlinux: 优化触摸板配置
在逛 Archlinuxcn BBS 时看到这个帖子: fcitx 输入法看不到选词,上面键盘也不见了! 等待妹子的 依云 提到了 infinality, 并且给出了这个链接: fix-infinal ...
- Linux下时钟框架实践---一款芯片的时钟树配置
关键词:时钟.PLL.Mux.Divider.Gate.clk_summary等. 时钟和电源是各种设备的基础设施,整个时钟框架可以抽象为几种基本的元器件:负责提供晶振 Linux内核提供了良好的CC ...
- 第29章 电容触摸屏—触摸画板—零死角玩转STM32-F429系列
第29章 电容触摸屏—触摸画板 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
- 【STM32H7教程】第54章 STM32H7的LTDC应用之LCD电阻触摸和电容触摸
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第54章 STM32H7的LTDC应用之LCD电阻 ...
- STM32采集电阻触摸贴膜
今天为了解决一个测量电阻屏压力的问题,自己直接用STM32做了一个测量电阻屏的程序(直接把触摸屏的四根线接到单片机引脚上),通过AD切换采集,采集X轴电压,Y轴电压,和压力..最后附上自己的程序 先说 ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(2)- Boot配置(BOOT Pin/eFUSE)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Boot配置. 在上一篇文章 Boot简介 里痞子衡为大家介绍了Boot基本原理以及i.MXRT Bo ...
- 对于phy芯片的认识
一,关于phy芯片 以RTL8211E(G)为例 PHY是IEEE802.3中定义的一个标准模块,STA(station management entity,管理实体,一般为MAC或CPU) 通过SM ...
随机推荐
- 动态导入Js文件
var ScriptLoader = { worker: , isWait: false, readyQueue: [], callback: [], timer: null, wait: funct ...
- vue将网页中的特定部分转成pdf并下载(仅供个人学习记录)
先安装支持 将页面html转换成图片npm install --save html2canvas 将图片生成pdfnpm install jspdf --save 组件引用: import html2 ...
- 18-09-15 潘一刘老师 讲课replace 控件输入函数检测的包
控件输入 指的是 一般金融机构 输入密码时候需要文本 键盘不能输入时候 用到的
- Map、Set、List区别
转:https://www.cnblogs.com/jing99/p/6947549.html 提到集合之前,先说说数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型 ...
- invalid context 0x0.
在展示图片或者做二维码的时候,若是宽或者高有一个为零的情况就会报错:CGBitmapContextCreateImage: invalid context 0x0. If you want to se ...
- 2018-2019-2 网络对抗技术 20165228 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165228 Exp3 免杀原理与实践 免杀 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. 要做好免杀,就时清楚杀毒软件( ...
- EtherCAT主站对PHY有要求?
/********************************************************************** * EtherCAT主站对PHY有要求? * 说明: * ...
- 学习Linux的软件管理、进程管理
一.软件管理 1.使用yum管理软件安装包 1.1什么是yum Yum (全称为:Yellow dog Updater, Modified) 由Duke University团队,修改Yellow D ...
- matlab中如何用rand产生相同的随机数
直接给链接:rand()产生相同随机数
- 【集合】Java中的具体集合(一)
Java中不止提供了集合框架中的接口,还提供了许多具体的实现. Java中的具体集合 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行 ...