I2C 总线协议核心要点
📌 I2C 核心精髓(一句话版)
用两根线(时钟+数据),通过上拉电阻和唯一地址,让主控芯片能精准找到并指挥多个低速外设。
🔑 四大记忆锚点
- 省脚之王 :只用 SDA(数据)和 SCL(时钟)两根线,就能挂载上百个设备,极大解放单片机引脚。
- 寻址机制 :每个从设备都有唯一身份证(7位地址),主设备发指令前先喊地址,对应设备才应答。
- "线与"防短路 :采用开漏输出 + 上拉电阻设计。设备只能把电平拉低,高电平靠电阻拉。只要有一个设备拉低,总线就是低电平,物理上杜绝了不同设备同时输出冲突而烧毁芯片的风险。
- 标准对话流程 :主设备发起起始信号 → 发送地址+读写位 → 等待从设备应答(ACK) → 传输数据 → 主设备发出停止信号。
🧠 常见易混淆点
- 不是全双工 :它是半双工(收发不能同时进行),和SPI的全双工不同。
- 速度不快 :标准模式只有 100kbps,适合传感器、EEPROM这类对速度要求不高的慢速设备,不适合传输音视频大数据。
- 线少也有代价 :因为靠上拉电阻,驱动能力弱,通信距离极短(通常仅限同一块电路板内,几厘米到几十厘米)。