CH450:支持带有中断的扫描键盘、数码显示;
TM1637:键盘扫描/数码显示;
CH450/TM1637 I2C的时序调试有问题,总体上注意以下几点
- MSB还是LSB,这两个不一样;(TM1637从低到高传输,即LSB;CH450从高到低,即MSB)
- 应答信号谁发起,电平如何?(TM1637 芯片发起ACK均为低0;CH450 写数据发起ACK;读数据接收ACK,ACK应答均为1高)
- 无芯片地址的概念,芯片地址和命令合并在一起了;
调试CH450时,找了个简单的逻辑分析仪,基于RP2040的多通道逻辑分析仪的使用方法分享 - 电子森林 (eetree.cn),使用RP2040的板子都可以做,简单使用
图1:发送4个数码管显示的数据;一位数据显示:1个byte 命令,1个byte data数据;共计8个byte数据发送(红框);橙色箭头表示start;绿色表示stop;蓝色表示ack;

使用pulseview软件自带的 i2c 解码器 去decode,可以看到发出的数据

这是读取数据的波形

文章详细探讨了CH450和TM1637在I2C通信中的时序差异,包括数据传输方向(MSBvsLSB)、应答信号发起和电平,以及两者在处理芯片地址和命令方式上的不同。通过使用基于RP2040的逻辑分析仪和pulseview软件进行调试,展示了发送数码管显示数据和读取数据的波形,提供了STM32与这两款芯片交互的参考资料。
最低0.47元/天 解锁文章
3139

被折叠的 条评论
为什么被折叠?



