在嵌入式开发中,I2C总线堪称“万金油”。无论你是驱动一个温湿度传感器、读写EEPROM存储校准参数,还是通过IO扩展器拓展GPIO,I2C几乎无处不在。这篇文章,将从硬件原理、协议时序到实际应用,一文彻底搞懂I2C。为以后嵌入式开发接入各种传感器和外围设备时,做到心里有底。什么是I2C?I2C(Inter-Integrated Circuit)总线由飞利浦(Philips)公司(现在的NXP)在 1982 年发明,最初是为了解决电视内部芯片间通信而设计的,是一种用于同一块 PCB 板上集成电路之间通信的两线式串行总线。I2C的核心思想极其简洁:只用两根线,实现多个芯片之间的通信。是一种串行同步半双工通信协议(关于串行通讯可阅读一文搞懂串行通信(Serial Communication)),用于连接微控制器以及其外围设备。它是由数据线 SDA和时钟线 SCL构成的串行总线,可发送和接收数据,在CPU与被控IC之间、IC与