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固定格式的定义,万万不可修改,否则后患无穷!!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)