软件的应用:

1.可以依照你所需要的芯片类型建立适当的工程,下面是在没有j-link的情况时的一种操作方式

建立完工程后,cpt212b的配置参数页面如上,更改参数点击Save 按钮,软件自动生成 .h 的文件,如下图,我们配置cpt212b的参数生成完毕,可以直接拿来用。

做到这一步,你可以用官方的开发版将数据直接下载到芯片中,若果选择i2c的配置方式,继续向下走。先看官方的手册文档。

摘自电子世界:https://www.sekorm.com/news/64319252.html

CPT212BSilicon 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--- 触摸芯片配置的更多相关文章

  1. VKD224B触摸芯片调试笔记

    1.通过阅读datasheet了解芯片怎么使用,一般datasheet会提供参考电路.和相应的电气参数. 通过上面的表格可以知道芯片的供电,所需电流. 这个芯片可以通过引脚选择模式.通过上面的选项设置 ...

  2. Spartan6系列之芯片配置模式详解

    1.   配置概述 Spartan6系列FPGA通过把应用程序数据导入芯片内部存储器完成芯片的配置.Spart-6 FPGA可以自己从外部非易失性存储器导入编程数据,或者通过外界的微处理器.DSP等对 ...

  3. Archlinux: 优化触摸板配置

    在逛 Archlinuxcn BBS 时看到这个帖子: fcitx 输入法看不到选词,上面键盘也不见了! 等待妹子的 依云 提到了 infinality, 并且给出了这个链接: fix-infinal ...

  4. Linux下时钟框架实践---一款芯片的时钟树配置

    关键词:时钟.PLL.Mux.Divider.Gate.clk_summary等. 时钟和电源是各种设备的基础设施,整个时钟框架可以抽象为几种基本的元器件:负责提供晶振 Linux内核提供了良好的CC ...

  5. 第29章 电容触摸屏—触摸画板—零死角玩转STM32-F429系列

    第29章     电容触摸屏—触摸画板 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  6. 【STM32H7教程】第54章 STM32H7的LTDC应用之LCD电阻触摸和电容触摸

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第54章       STM32H7的LTDC应用之LCD电阻 ...

  7. STM32采集电阻触摸贴膜

    今天为了解决一个测量电阻屏压力的问题,自己直接用STM32做了一个测量电阻屏的程序(直接把触摸屏的四根线接到单片机引脚上),通过AD切换采集,采集X轴电压,Y轴电压,和压力..最后附上自己的程序 先说 ...

  8. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(2)- Boot配置(BOOT Pin/eFUSE)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Boot配置. 在上一篇文章 Boot简介 里痞子衡为大家介绍了Boot基本原理以及i.MXRT Bo ...

  9. 对于phy芯片的认识

    一,关于phy芯片 以RTL8211E(G)为例 PHY是IEEE802.3中定义的一个标准模块,STA(station management entity,管理实体,一般为MAC或CPU) 通过SM ...

随机推荐

  1. firefox 屏蔽Backspace按键的后退功能

    直接上图

  2. IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾

    IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾   前言:IntelliJ IDEA 如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是 ...

  3. 更强大的python正则表达式模块 -- regex

    python内置的正则表达库re比较弱,而且似乎在好几年里都没太大的变化. 这里介绍这个python模块regex,实现了更多方便好用的功能. 比如:\p{han} 可以匹配汉字, \p{Latin} ...

  4. 利用Django实现webUI展示

    1.说明 最近老大想要做一个webUI界面,为了展示我们数据中心工作内容,需要把各自的工作内容用webUI展示出来.目前我负责的做公司名称归一化的问题. 2.Django实现web 具体实现是完全按照 ...

  5. python之django基础

    看了不是同一期的视频,发现9期老师线性引入的方式,讲得django更加易于理解掌握. 抱歉的是,笔记没有整理就发上来了.希望看到的人不要被我带偏. 1. 新建Django项目 命令行创建: djang ...

  6. linux find命令-print0和xargs中-0使用技巧

    文章是转载的,原文很精彩,我对其中个别地方没有快速理解,我在此予以补充,方便后续回顾理解. 本文介绍了linux find命令中-print0和xargs中-0用法技巧,一些find命令的使用经验,需 ...

  7. iOS Build Apps for the World WWDC

    Programming Resources https://developer.apple.com/internationalization/ WWDC Session Videos Internat ...

  8. 微信浏览器软键盘弹出与页面resize的问题

    使用微信打开网页,弹出软键盘时遇到的兼容问题 过去开发中遇到过很多这种情况,页面底部需要固定定位一个按钮,广告栏或者菜单栏,页面中有表单项需要填写,在打开手机虚拟键盘的时候,底部固定定位的元素会处在软 ...

  9. 从输入URL按下回车到页面展现,中间发生了什么?

    从输入URL按下回车到页面展现,总的来说发生了一下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器 ...

  10. Spring Boot 异步运用

    使用@Async标签 导入包 org.springframework.scheduling.annotation.Async 并配置并发线程池asyncTaskConfig 实现AsyncConfig ...