IIC Tools

时间:2024-05-18 20:12:06

0 简介

IIC-Tools 是linux下的一个开源工具,使用它可以在命令行中队IIC设备进行访问。我们可以在https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/ 下载这个工具。

IIC Tools

 

1 安装

下载解压完成后,修改Make file,使用交叉编译工具链对其进行编译,编译后再Tools文件夹下可以得到i2cdetect,i2cdump,i2cset,i2cget ,i2ctransfer这几个可执行文件:

i2cdetect – 用来列举 I2C bus 和上面所有的设备

i2cdump – 显示 i2c 设备所有 register 的值

i2cget – 读取 i2c 设备某个 register 的值

i2cset – 写入 i2c 设备某个 register 的值

i2ctransfer – 传输字节数据

编译生成可执行文件后,使用adp push将其移到开发板上就可以开始调试iic设备了。

IIC Tools

 

2 使用

i2cdetct -l

查看系统中所有i2c adapter

IIC Tools

 

可见,系统中有四个iic总线 0、1、2、4

i2cdetect -y <num>

罗列num号总线上挂载设备的地址

IIC Tools

 

如图,标记UU的就代表这个地址上是有个设备的,我们向这个地址发送询问是会有应答的。上图的有效地址是:0x1c、0x20

i2cget -f -y <num> <i2cbus chip addr> <data addr>

读取num号总线上地址为i2cbus chip addr的设备寄存器地址为data addr的值

IIC Tools

 

如图,读取了i2c-0总线上0x20 设备的0寄存器值 为0x49

i2cset -f -y <num> <i2cbus chip addr> <data addr> <data>

给num号总线上地址为i2cbus chip addr的设备寄存器地址为data addr的寄存器写入data值

IIC Tools

 

如图,先使用i2cget读取了读取了i2c-0总线上0x20 设备的0x10寄存器值 为0x11,再使用i2cset设置其值为0x22,最后再使用i2cget验证是否完成设置。

i2cdump -f -y <num> <i2cbus chip addr>

读取num号总线i2cbus chip addr设备的所有寄存器地址

IIC Tools

 

如图 读取了i2c-0 上地址为0x20设备的所有寄存器的值