有关WCH的CH42x以及CH45x选型,常见问题处理方法
南京沁恒微电子的CH45x系列为数码管、按键驱动芯片。
CH42x系列为IO扩展芯片。CH422和CH423除了支持的OC数量有一些区别,在单片机的驱动上,并没有任何区别,驱动CH423的代码是可以套用在CH422上面的。
CH42x IO扩展芯片
1. CH42xIO扩展芯片有一个很重要的特点需要说一下,扩展的OC是上电默认高电平 ,所以如果直接继电器或者连接OC的设备需要默认低电平的,需要加一个反相器。
2. CH42x的接口为两线串口,虽然手册里面写的引脚名称是I2C的SDA和SCL,并且驱动代码也是使用的模拟的I2C,但是CH42x并不是标准的I2C接口,CH42x是没有地址的概念的,所以CH42x系列的芯片是不支持级联的。标准I2C时序的地址,被CH42x改为了一个命令。
3. CH423的8个GPIO,是统一设置输入输出方向的,默认为输入方向。
4. 如果是使用CH42x系列芯片每个IO单独驱动LED灯,电路设计建议为LED接高电平,即LED在CH42x输出低电平时点亮。如果为CH42x为高电平点亮的话,芯片在上下电时,在电压到复位电压时,会把寄存器复位,二寄存器默认时IO输出高电平,这样会出现上下电时所有IO控制的LED被突然点亮一下 的现象。解决方法就是电路改为低电平点亮即可。
CH45x 数码管显示驱动芯片
1. CH45x芯片的接口为两线串口(有部分支持4线的除外),虽然手册里面写的引脚名称是I2C的SDA和SCL,并且驱动代码也是使用的模拟的I2C,但是CH45x并不是标准的I2C接口,CH45x是没有地址的概念的,所以CH45x系列的芯片是不支持级联的。标准I2C时序的地址,被CH45x改为了一个命令。
2. 支持串行4线的(CH451和CH452)通讯就是SPI接口。
3. CH451和CH452支持4线方式多片级联:并行级联,串行级联。
4. CH45x系列的芯片是可以同时支持数码管动态显示和按键扫描的。
5. 如果只是使用CH45x的动态扫描按键,并且对功耗有一定要求的。以下为部分测试的数据。
(1)CH450在只开了按键扫描的情况下,450在上电后,0.0013A。无显示驱动。MCU设置好后电流大约为0.0009----0.0010A。
(2)CH455的电流大约为0.0025A。
6. 如果使用CH455芯片带驱动LED或者数码管的时候发现动态显示会出现肉眼可见的闪烁,那么需要去换芯片,芯片是由一定要求的,一定要选择沁恒官方丝印为20941xxxx批次的芯片。只有这个批次或者往后的芯片是支持关闭键盘扫描的。即KOFF位。具体可以看官方数据手册。
这个问题特地加粗一下,因为目前市面上是有20940批次的芯片。
统一问题:
在WCH的官方手册中,CH45x和CH42x的系统设置参数0x48后面字节是这样的:sleep位最高位,IO_OE为最低位,组成的8bit(1Byte)数据。
示例代码
目前官方的EVT包里面,给的是C文件和头文件,并不是一个完整的工程。如果想要参考一个完整MCU驱动工程的,可以去个人Gitee上git clone。是会持续更新的。
链接:个人Gitee
Final
有关选型,电路设计以及一些常见问题的解决测试方式,可以下载这个,看压缩里面的Word文档,里面写的很详细。
http://www.wch.cn/public/uploads/file/20150403/1428051285117476.rar
有关WCH的CH42x以及CH45x选型,常见问题处理方法的更多相关文章
- ionic一些常见问题及方法
1.打包的app无法访问互联网及网络资源(比如网页调试可以请求数据,安装到手机上无法请求数据) 添加白名单插件 ionic plugin add https://github.com/apache/c ...
- ionic一些常见问题及方法(网页链接式)
ionic 进入二级目录以后隐藏底部导航栏(tabs) http://blog.csdn.net/shenshucong520/article/details/48287811ionic三级目录乃至多 ...
- C#.NET常见问题(FAQ)-方法参数带ref是什么意思
写两个相同的方法,但是参数一个带ref,一个不带,从测试结果可以发现,a变量在ModifyValueByref之后发生了改变,而ModifyValueByvalue没效果 更多教学视频和资料下 ...
- DB常见问题排查方法
一般情况下,系统多多少少都会遇到点问题,那么遇到问题之后我们怎么定位原因呢?在这里我只说如何定位DB的问题. 看这篇文章有个前提:监控数据要完整!监控数据要完整!!监控数据要完整!!!比如下面这个乍一 ...
- ffmpeg编码常见问题排查方法
播放问题排查: 一旦我们遇到视频播放不了,第一件事,就是要找几个别的播放器也播放看看,做一下对比测试,或者对码流做一些基础分析,以便更好的定位问题的源头,而各个平台比较常见的播放/分析工具有如下几个: ...
- mongodb 常见问题处理方法收集
问题1:非正常关闭服务或关机后 mongod服务无法正常启动 在使用中发现mongodb 的服务可能因为非正常关闭而启动不了,这时我们通过 删除data目录下的 *.lock文件,再运行下/mongo ...
- NodeJs操作MongoDB之分页功能与常见问题
NodeJs操作MongoDB之分页功能与常见问题 一,方法介绍 1,聚合操作之count count()方法可以查询统计符合条件的集合的总数 db.User.count(<query>) ...
- NodeJs操作MongoDB之多表查询($lookup)与常见问题
NodeJs操作MongoDB之多表查询($lookup)与常见问题 一,方法介绍 aggregate()方法来对数据进行聚合操作.aggregate()方法的语法如下 1 aggregate(ope ...
- Swift 可选型
1.可选型 Swift 语言为我们提供了一种全新的.更加安全的类型 "可选型".可选型是使用范型枚举的形式来组织的,也就是说此特性可以运用于所有的类型.结构体.类或者其他复杂数据类 ...
- MES选型很困惑?避开这三个禁忌!
MES系统的选型除了要充分剖析自己企业,掌握自己企业的需要.信息化的目标.自身的特点外,还要完全了解MES系统供应商,对其实力.软件性能.服务.用户.软件实施速度.价格进行了解与分析,这也是MES系统 ...
随机推荐
- 适用于移动端、PC 端 Vue.js 图片预览插件
1.安装:npm install --save vue-picture-preview 2.使用: (1)入口文件中main.js中全局引入: import Vue from 'vue' import ...
- Java学习之路:快捷键
常用的快捷键 Ctrl+Shift:切换输入法 Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+X:剪切 Ctrl+A:全选 Ctrl+Z:撤销 Ctrl+Y:返回撤销 Ctrl+S:保存 Shif ...
- Vue中组件化编码 完成任务的添加、删除、统计、勾选需求(实战练习三完结)
上一个章节实现数据在组件之间的传递 .这一章主要是完成添加任务到任务栏.删除任务栏.统计任务完成情况.主要还是参数在各个组件之间的传递. 上一章节的链接地址:https://blog.csdn.net ...
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(31)-Fiddler如何抓取Android系统中Flutter应用程序的包
1.简介 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter应用程序是用Dart编写的,这是一种由Google在7年多前创建的语言.Flut ...
- webgl(three.js)3D光伏,3D太阳能能源,3D智慧光伏、光伏发电、清洁能源三维可视化解决方案——第十六课
序: 能源是文明和发展的重要保障,人类命运不可避开的话题,无论是战争还是发展,都有它存在的身影.从石器时代到现代文明,人类的能源应用在进步,也在面临能源枯竭的危机与恐惧,而开发与应用可再生能源才是解决 ...
- nrf9160 做modem—— 连接云(接入方式MQTT)
今天测试把nrf9160作为modem的例程Serial LTE Modem程序(后面简称slm),何为做modem,通俗来说就是将nrf9160作为无线模块,主控由其余MCU做,主控通过AT命令控制 ...
- Java Stream流的使用
流相关的方法可以分为三种类型,分别是:获取Stream流.中间方法.终结方法.中间方法会返回当前流,可以方便的进行链式调用. 流不可重复使用,否则会报错: java.lang.IllegalState ...
- 关于入门深度学习mnist数据集前向计算的记录
import osimport lr as lrimport tensorflow as tffrom pyspark.sql.functions import stddevfrom tensorfl ...
- jmeter——JSON提取器(从上一个请求的响应结果提取参数传给下一个请求)
记录一个参数提取过程,可供后续参考. 1. 查看响应报文的结构 将上一个请求的响应报文复制到Notepad++编辑器 JSON Viewer是Notepad++的JSON插件, Notepad++的P ...
- 通过jmeter,将数据库数据查询出来并打印
1. 连接数据库 1.1 添加jdbc驱动路径 1.2 JDBC Connection Configuration 1.3 JDBC Request 2. 查询数据库数据并打印 2.1 定义变量 ...