I2C调试工具

1. I2C调试工具

i2c-tools工具是开源I2C调试工具, 具有获取I2C总线挂载的设备列表及设备地址,可对指定设备指定寄存器进行读写的功能。

ubuntu安装:

apt-get install libi2c-dev i2c-tools

源码下载地址:

https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/

移植i2c-tools到嵌入式设备:

1 解压
  tar -xvf i2c-tools-3.1.1.tar.bz2
2 解压后修改Makefile
  CC =arm-linux-gnueabihf-gcc
  LDFLAGS += -static
3 make
  成功后会在tools目录下生成
  i2cdetect i2cdump i2cget i2cset等工具
4 将tools目录下文件拷贝到嵌入式设备的/usr/bin/目录下

使用方法:

1. 查看设备拥有I2C总线列表
   i2cdetect -l

可以看到系统中有9组IIC。

2. 检测i2c总线上挂载的设备
   检测I2C总线7上挂载的设备

   i2cdetect-r -y 7

 

可以看到0x4C,0x50挂载了设备。 I2C 设备的位置显示为UU或者表示设备地址的数值,UU表示该设备在 driver 中被使用。

3. 检测i2c总线上挂载的设备
   检测I2C总线7的0x50地址上挂在的设备的所有寄存器的值 

   i2cdump -f -y 7 0x50

 

4. 使用i2cset设置单个寄存器值
   设置 挂载在I2C总线70x50地址上的设备的0x00寄存器的值为0xff 
   
   i2cset -f -y 7 0x50 0x00 0xff

5. i2cget读取单个寄存器值
   获取 挂载在I2C总线70x50地址上的设备的0x00寄存器的值
   
   i2cget -f -y 7 0x50 0x00

 
   千万注意,这里只可以用于示意来阐述如何设置寄存器的值,但是在TX2实际使用时,第7路,0x50实际上是EEPROM固定格式的定义,万万不可修改,否则后患无穷!!!

 

猜你喜欢

转载自blog.csdn.net/hgz_gs/article/details/89853510
I2C