I2Ctools工具包提供了一组I2C工具,包括i2cdetect、i2cset、i2cget、i2cdump等。通过I2Ctools工具可直接对I2C芯片进行操作。I2Ctools利用的就是通用I2C从设备驱动。
i2cdetect命令可扫描I2C适配器,用法如下:
[root@urbetter/home]#./i2cdetect-l
i2c-0 i2c s3c2410-i2c I2C adapter
i2c-1 i2c s3c2410-i2c I2C adapter
i2cdetect命令还可扫描I2C从设备,例如:
上面的结果中,检测到的数字(38、3f、50)代表挂载的I2C设备地址。UU表示这个I2C设备地址存在,但已经注册为个性化I2C从设备,也就是被内核某个I2C驱动使用。
I2C从设备读使用i2cget命令,从设备写使用i2cset命令,命令参数若未添加-y参数,表示需要交互确认。I2C从设备具有设备地址以及数据或寄存器地址。设备地址用来区分设备;数据或寄存器地址用来在从设备内部进行寻址。
[root@urbetter/home]:~#i2cset 10x500x180x00
WARNING!This program can confuse your I2C bus,cause data loss and worse!
I will write to device file/dev/i2c-1,chip address 0x50,data address
0x18,data 0x56,mode byte.(www.xing528.com)
Continue?[Y/n]y
root@dm816x-evm:~#i2cget10x500x18
WARNING!This program can confuse your I2C bus,cause data loss and worse!
I will read from device file/dev/i2c-1,chip address 0x50,data address
0x18,using read byte data.
Continue?[Y/n]y
0x56
i2cdump可批量导出I2C从设备数据:
[root@urbetter/home]./i2cdump-y 10x50
这个命令将导出I2C总线1上的0x50设备的从0x00~0xFF地址范围的数据。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。