【I2C 】杂谈
本专栏专注于介绍 I2C Bus 及其实现,以及实现问题可能遇到的问题。
吴秀华Cherry
重技术、懂流程、轻管理
展开
-
【STM32CUBEMX】 I2C Slave 实现
背景这几天在使用 STM32F030C8T6 做 I2C Slave。在网上查了好多的资料,使用 STM32 硬件 I2C 的例程少之又少,对 STM32 硬件 I2C 的批判巨多,只能硬着头皮,自己一步一步摸索。 实际上在这次硬件 I2C 调试之前,其实我已经通过 IO 模拟的方式实现了 I2C,但速率仅能实现 100Kb/s。对于400Kb,IO 模拟方式简直是无能为力。 实际上这个功...原创 2018-07-10 22:19:43 · 15018 阅读 · 5 评论 -
【Arduino】I2C Master 实现
背景前几天,有个海外的客户在使用 Arduino 连接产品(I2C接口)的时候,发现有异常。为了方便,我自己写了个 Arduino 的例程。使用 Arduino 例程的时候发现,官方的描述不太详细,走了些弯路。特此,写篇文章记录下。Arduino 的 I2C 相关函数Arduino 的封装库真的是非~非~非常的棒,I2C 就只有 10 个 API 函数。I2C 所用的库,称为:Wire...原创 2018-09-13 18:29:44 · 10343 阅读 · 3 评论 -
【InterFace】STM32 I2C 死锁问题
最近在项目中设计了一个 IIC 模拟从机的程序。为了图方便,我随便拿了个 STM32F207 的开发板做 IIC Master,用 STM32CUBE 做了个程序,Master 的 数据发送和接收,都是直接调用 HAL 库的函数。 通过逻辑分析仪测试发现,每次主机出现错误后,IIC SDA 会被拉低,导致整个 IIC 总线被锁死了。后续的数据传输异常。现象如下图所示:后来我查看了 H...原创 2018-06-08 22:35:50 · 13343 阅读 · 11 评论 -
【InterFace】I2C 总线详述
背景昨天出去了一趟,人问:你熟悉什么?答:软硬件。结果,好尴尬。 硬件一般都做什么内容? 答:电源设计。 能说下升压、降压电路是怎么实现的吗? 答:不能。(Ps:后续增加 电源设计原理) 通讯都用到什么接口? 答:UART、I2C、SPI。 然后我想,I2C 我研究了好久,我得把话题转到 I2C 上。 我说:我最近在做 I2C 的接口。 I2C 和 SPI 有什么区别? 答...原创 2018-08-07 08:57:30 · 3388 阅读 · 3 评论