i2c-tools工具下载地址:
https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/
安装
进入源码目录:
- 修改Makefile文件
CC = arm-xxx-linux-gcc - 编译
i2c-tools-4.3# make USE_STATIC_LIB=1
i2c-tools-4.3# make install
tools目录下生成i2c工具
命令
i2cdetect:用于扫描 i2c 总线上的设备
./i2cdetect -r -y 0
– 表示该地址被检测,但是没有芯片应答,UU 表示该地址被当前内核驱动使用。
./i2cdetect -F i2cbus 查询总线的功能
./i2cdetect -V 打印软件版本号
./i2cdetect -l 检测当前系统有几组i2c总线
i2cset:向i2c设备某个寄存器写入值
设置i2c-1上0x20器件的0x77寄存器值为0x3f
./i2cset -f -y 1 0x20 0x77 0x3f
i2cget:读取i2c设备某个寄存器的值
读取i2c-1上0x20器件的0x77寄存器值
./i2cget -f -y 1 0x20 0x77
i2cdump:读取某个i2c设备所有寄存器的值
读取i2c1上0x38器件的所有寄存器
./i2cdump -f -y -a 1 0x38
i2ctransfer:一次性读写多个字节
./i2ctransfer -f -y 1 w3 @0x36 0x01 0x02 0x03
./i2ctransfer -f -y 1 w2 @0x36 0x0a 0x0b r3 0x01 0x02 0x03