(本人主要是软件背景,刚开始在嵌入式平台上工作。请问这是一个幼稚的问题......)
我打算为通过 I2C 总线连接到 MCU 的 EEPROM 编写驱动程序。所以我正在阅读有关 I2C 总线的教程。
教程说:
SCL 和 SDA 线都是“开漏”驱动器。这意味着芯片可以将其输出驱动为低电平,但不能将其驱动为高电平。 为了使线路能够变高,您必须为 5v 电源提供上拉电阻。从 SCL 线到 5v 线应该有一个电阻,从 SDA 线到 5v 线应该有一个电阻。整个 I2C 总线只需要一组上拉电阻,而不是每个设备,如下图所示:
上图中的红色部分是我添加的。我想这就是整个画面的样子。
我的问题是:
- 我添加的红色 MCU 是否正确?
- 芯片加粗的部分是红色的MCU,对吧?
- 为什么芯片不能把它推高是真的?是不能还是禁止?
- 简单的英语中的开漏是什么意思?
我搜索了一下,但似乎找不到明确的解释……也许类比会有所帮助。