一 i2c-tools工具集介绍
i2c-tools是一个专门调试i2c设备的开源工具集,在嵌入式开发中经常使用,该工具集包含以下命令:
i2cdetect、i2cdump、i2cget、i2cset。
i2c-tools的重要意义就是开发人员既不需要编写复杂的Linux驱动、也不需要编写应用程序,只需要输入几个简单的命令就可以调试i2c设备,比如:
设置i2c设备寄存器
获得i2c设备寄存器的值文章来源:https://www.toymoban.com/news/detail-637554.html
二 i2c-tools工具集详细操作
i2cdetect:查询开发板包含的i2c总线和外设,看以下命令:
i2cdetect -l
探测开发板包含的i2c总线
从命令执行结果可知,开发板包含2个i2c总线控制器
i2cdetect -y -r 0
探测i2c-0总线上挂载的外设,参数-y表示取消交互模式,直接执行命令
从命令执行结果可知i2c-0总线上挂载了2个i2c设备,地址分别为0x56、0x57。
其中0x57为EEPROM芯片
i2cdetect -y -r 1
探测i2c-1总线上挂载的外设
从命令执行结果可知i2c-1总线上挂载了1个i2c设备,地址为0x68。
UU表示该设备已经被Linux内核驱动占用,探测程序会略过该设备
i2cset:设置i2c设备单个寄存器的值,看几个命令:
i2cset -y -f 0 0x57 0x00 0x10
i2cset -y -f 0 0x57 0x01 0x11
i2cset -y -f 0 0x57 0x02 0x12
i2cset -y -f 0 0x57 0x03 0x13
下面以i2cset -y -f 0 0x57 0x00 0x10为例进行分析
参数 意义
-y 取消交互模式,直接执行命令
-f 强制访问该设备
0 表示i2c总线编号
0x57 表示i2c设备地址
0x00 表示寄存器地址
0x10 表示待写入的值
i2cget:查看i2c设备单个寄存器的值,看几个命令:
下面以i2cget -y -f 0 0x57 0x00为例进行分析
参数 意义
-y 取消交互模式,直接执行命令
-f 强制访问该设备
0 表示i2c总线编号
0x57 表示i2c设备地址
0x00 表示寄存器地址
i2cdump:查看i2c设备所有寄存器的值,看以下命令:
i2cdump -y -f 0 0x57
参数 意义
-y 取消交互过程,直接执行命令
-f 强制访问该设备
0 表示i2c总线编号
0x57 表示i2c设备地址
从命令执行结果可知i2cdump命令获得的寄存器值和i2cget命令相同。
注意:
i2c设备某些寄存器其设置的值和读出的值不同,请不要见怪,比如复位寄存器,其设置的值并不等于读出的值。文章来源地址https://www.toymoban.com/news/detail-637554.html
到了这里,关于i2c-tools工具集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!