Linux I2C

我要报错
  • Linux I2C框架的整体分层设计

    I2C是嵌入式系统中应用最广泛的低速串行总线之一,小到温度传感器、EEPROM、OLED显示屏,大到基带芯片、传感器模组,几乎都离不开I2C通信。在Linux内核中,I2C驱动并不是由各个厂商各自实现,而是设计了一套分层、通用的核心框架,将总线adapter和设备driver解耦分离,既简化了驱动开发,又保证了代码的可复用性和可维护性。很多嵌入式开发者在开发I2C设备驱动时,只知道调用i2c_smbus_read_byte_data这类API,却不理解内核框架是怎么把数据传到物理总线上的。