I2C
外观
I²C 或 I2C (Inter-IC) 是由飞利浦半导体公司于 1982 年发明的一种同步、多控制器/多目标(控制器/目标)、分组交换、单端、串行通信总线。
许多硬件板卡使用它来与通用输入/输出 (GPIO) 设备通信。
I2C 的一个类似扩展是 SMBus,它更专门用于硬件监控目的。
安装
大多数默认内核软件包中已经存在 I2C 内核模块。
用户空间工具可以从 i2c-tools 安装。最新版本可以在 i2c-tools-gitAUR 获取。
SMBus 特定工具可以从 lm_sensors 安装。
模块加载
在某些情况下,可能需要 在启动时加载模块
/etc/modules-load.d/i2c-dev.conf
i2c_dev
在 FS#76233 修复后,将不再需要此操作。
根据您的系统和使用情况,可能还需要加载其他特定于硬件的模块,例如 i2c_i801 或 i2c_smbus。
如果模块已正确加载,您应该会看到 /dev/i2c-* 设备。
可以通过将用户添加到 i2c 用户组 来授予使用 /dev/i2c-* 设备的权限。
用法
i2cdetect 可以检测所有活动的 I2C 设备
$ i2cdetect -l
i2c-0 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-1 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-2 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-3 i2c Synopsys DesignWare I2C adapter I2C adapter i2c-4 smbus SMBus I801 adapter at f040 SMBus adapter i2c-5 i2c i915 gmbus dpb I2C adapter i2c-6 i2c i915 gmbus dpc I2C adapter i2c-7 i2c i915 gmbus misc I2C adapter i2c-8 i2c AUX B/DDI B/PHY B I2C adapter
当 I2C 设备连接到已知总线时,i2cdetect 可以探测其活动的地址
$ i2cdetect 1
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- 76 --
请注意,此程序可能会导致 I2C 总线混乱,数据丢失甚至更严重的问题。