南京沁恒微电子的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文档,里面写的很详细。

CH45X系列选型、应用、常见问题汇总

http://www.wch.cn/public/uploads/file/20150403/1428051285117476.rar

有关WCH的CH42x以及CH45x选型,常见问题处理方法的更多相关文章

  1. ionic一些常见问题及方法

    1.打包的app无法访问互联网及网络资源(比如网页调试可以请求数据,安装到手机上无法请求数据) 添加白名单插件 ionic plugin add https://github.com/apache/c ...

  2. ionic一些常见问题及方法(网页链接式)

    ionic 进入二级目录以后隐藏底部导航栏(tabs) http://blog.csdn.net/shenshucong520/article/details/48287811ionic三级目录乃至多 ...

  3. C#.NET常见问题(FAQ)-方法参数带ref是什么意思

    写两个相同的方法,但是参数一个带ref,一个不带,从测试结果可以发现,a变量在ModifyValueByref之后发生了改变,而ModifyValueByvalue没效果     更多教学视频和资料下 ...

  4. DB常见问题排查方法

    一般情况下,系统多多少少都会遇到点问题,那么遇到问题之后我们怎么定位原因呢?在这里我只说如何定位DB的问题. 看这篇文章有个前提:监控数据要完整!监控数据要完整!!监控数据要完整!!!比如下面这个乍一 ...

  5. ffmpeg编码常见问题排查方法

    播放问题排查: 一旦我们遇到视频播放不了,第一件事,就是要找几个别的播放器也播放看看,做一下对比测试,或者对码流做一些基础分析,以便更好的定位问题的源头,而各个平台比较常见的播放/分析工具有如下几个: ...

  6. mongodb 常见问题处理方法收集

    问题1:非正常关闭服务或关机后 mongod服务无法正常启动 在使用中发现mongodb 的服务可能因为非正常关闭而启动不了,这时我们通过 删除data目录下的 *.lock文件,再运行下/mongo ...

  7. NodeJs操作MongoDB之分页功能与常见问题

    NodeJs操作MongoDB之分页功能与常见问题 一,方法介绍 1,聚合操作之count count()方法可以查询统计符合条件的集合的总数 db.User.count(<query>) ...

  8. NodeJs操作MongoDB之多表查询($lookup)与常见问题

    NodeJs操作MongoDB之多表查询($lookup)与常见问题 一,方法介绍 aggregate()方法来对数据进行聚合操作.aggregate()方法的语法如下 1 aggregate(ope ...

  9. Swift 可选型

    1.可选型 Swift 语言为我们提供了一种全新的.更加安全的类型 "可选型".可选型是使用范型枚举的形式来组织的,也就是说此特性可以运用于所有的类型.结构体.类或者其他复杂数据类 ...

  10. MES选型很困惑?避开这三个禁忌!

    MES系统的选型除了要充分剖析自己企业,掌握自己企业的需要.信息化的目标.自身的特点外,还要完全了解MES系统供应商,对其实力.软件性能.服务.用户.软件实施速度.价格进行了解与分析,这也是MES系统 ...

随机推荐

  1. P1886 滑动窗口 /【模板】单调队列 方法记录

    原题链接 滑动窗口 /[模板]单调队列 题目描述 有一个长为 \(n\) 的序列 \(a\),以及一个大小为 \(k\) 的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最 ...

  2. 华为路由器RIP路由协议配置命令

    RIP路由协议配置 rip 创建开启协议进程 network + ip 对指定网段接口使能RIP功能IP地址是与路由器直连的网段 debugging rip 1 查看RIP定期更新情况 termina ...

  3. 1.关于SPring Boot项目的创建

    一.引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  4. Application保存作用域

    Application保存作用域,作用范围:一次应用程序范围有效.Application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据. ServletContext在服务器启动时创建,在服 ...

  5. 20220729 - DP训练 #2

    20220729 - DP训练 #2 时间记录 \(8:00-8:10\) 浏览题面 \(8:10-8:50\) T1 看题想到了建树,从每一个点遍历,若能遍历每一个点,则可以获胜 快速写完之后,发现 ...

  6. Vscode设置标签页多行显示

    1.设置标签页多行展示的方法 文件–>首选项–>设置 2.勾选多行显示按钮 3.显示效果

  7. Aspose.Words 操作 Word 画 EChart 图

    使用 Aspose.Words 插件在 Word 画 EChart 图 使用此插件可以画出丰富的 EChart 图,API 参考 https://reference.aspose.com/words/ ...

  8. RedHat7.6安装mysql8步骤

    1.官网下载mysql安装包 直达链接:https://dev.mysql.com/downloads/mysql/    2.将下载好的安装包上传到redhat系统上(有多种上传方式,本次使用Sec ...

  9. CF Round #829 题解 (Div. 2)

    F 没看所以摆了 . 看拜月教教主 LHQ 在群里代打恰钱 /bx 目录 A. Technical Support (*800) B. Kevin and Permutation (*800) C. ...

  10. Python基础之函数:5、内置函数、迭代器对象、异常的捕获和处理

    目录 一.重要内置函数 1.zip() 2.filter() 3.sorted() 二.常见内置函数 1. abs() 2.all.any() 3.bin.oct.hex.int() 4.bytes( ...