软件的应用:

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. Xcode Archive打包失败问题

    ionic3项目 完成 模拟器 真机测试均可以打包安装成功  在Archive的时候报错了 错误如下 code signing is required for product type 'Applic ...

  2. ueditor的用法

    今天做了一下百度富文本编辑器,遇到了一些问题,现在来总结一下: (1)jQuery没有引用,解决方法:引用jQuery并且放在所有的js前面 (2)没有报错,但是样式显示不出来.解决方法:css引用的 ...

  3. Maven Gradle

    场景:随着项目越来越规范,对构建工具的要求越来越高,我们从Maven转到了Gradle. 转自:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gra ...

  4. 一个简单可靠的CRC 计算程序

    //注:此函数主要的特点为准,快,体积小,非常适合于8位单片机 int16 crc_1021(int16 old_crc, int8 data) {   int16 crc;   int16 x;   ...

  5. protel dxp 2004安装与破解

    安装准备 压缩文件包内容: dxp2004汉化补丁 dxp2004元件库 Network License Setup网络版注册机 Protel DXP2004原程序 Protel2004_sp2_单机 ...

  6. 【POI】java对excel的读写操作

    在工作中需要将mongo中的数据导出到excel中,所以根据需要学习了poi.以下为学习内容的总结: 1.POI是什么? poi是Apache团队开发的专门面对用java处理Excel文档的工具. 官 ...

  7. react-native-printer

    react-native-printer A React Native Library to support USB/BLE/Net printer for Android platform Inst ...

  8. Fiddler 抓包的基本介绍

    一.什么是Fiddler? Fiddler是一种常见的抓包分析软件,我们可以使用它对HTTP请求进行分析,并模拟对应的HTTP请求. 二.Fiddler抓包实现的原理 Fiddler就相当于某二手车直 ...

  9. ExcelUploadUtil

    package com.rscode.credits.util; import java.io.File; import java.io.FileInputStream; import java.io ...

  10. Centos中安装gitlab

    安装依赖: sudo yum install curl openssh-server openssh-clients postfix cronie sudo service postfix start ...