i2c

i2c

一 i2c-tools工具集介绍

i2c-tools是一个专门调试i2c设备的开源工具集,在嵌入式开发中经常使用,该工具集包含以下命令:
i2cdetect、i2cdump、i2cget、i2cset。
i2c-tools的重要意义就是开发人员既不需要编写复杂的Linux驱动、也不需要编写应用程序,只需要输入几个简单的命令就可以调试i2c设备,比如:
设置i2c设备寄存器
获得i2c设备寄存器的值

二 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设备某些寄存器其设置的值和读出的值不同,请不要见怪,比如复位寄存器,其设置的值并不等于读出的值。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1693468266a717371.html

相关推荐

  • i2c

    2023-8-31
    260
  • linux 嵌入式 开发 lua 调试 i2c 脚本 i2c 总线

    #!mntruntoolsloranprint("-- Test i2c tools --")local tmpnillocal detect_busfunction(bus) for chip0

    7月前
    280
  • I2C从器件地址

    指南针芯片和加速度、角加速度芯片用到了I2C通信。其中I2C的从器件地址(我只用到了7位的)的组成如下:1byte  7bit地址  1bit读写标志注&#xff1a

    1月前
    130

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信