linux i2c调试命令,Linux系统下i2c工具 i2c-tool 的使用

1. 下载和安装

76c6e501bde2bc0635c0d4a3c310008c.png

解压后, 进入解压后的目录, 然后编译:

cd i2c-tools-4.1

make

1b6999f8751797530a188818dde0669d.png

安装:

sudo make install

88afdf39ad2c7d4654c8abcb744ac557.png

使用

终端输入i2c按两次Tab键会出现可选命令:

a8f037b671c03fe7bdece98cec90e1cc.png

i2cdetect

显示所有可用的I2C总线

i2cdetect -l

2f159fb9ab445677f864eeec3b7cc740.png

使用-y 总线号或总线名选项, 查看该总线下所有设备及设备地址:

i2cdetect -y 1 # 查看i2c-1总线下的设备

0b976382b96f6ff50905230142f5ab59.png

(0x36是我i2c-1下挂载的摄像头的地址)

如果报错:

Error: Could not open file `/dev/XXX`: Permission denied Run as root?

请使用root权限运行:

sudo i2cdetect -y 1

如果报错:

error while loading shared libraries: libi2c.so.0: cannot open shared object file: No such file or directory

将i2c-tools-4.0/lib/libi2c.so.0.1.1复制到/usr/lib/下, 重命名为libi2c.so.0, 并修改权限为777:

sudo cp lib/libi2c.so.0.1.1 /usr/lib/libi2c.so.0

sudo chmod 777 /usr/lib/libi2c.so.0

i2ctransfer

sudo i2ctransfer -f -y 1 w3@0x36 0x50 0x81 0x01

bb9217824b382e828c18e356eee07403.png

0x36为I2C设备的地址, 0x5081为要写的寄存器地址, 0x01为写入的值。

sudo i2ctransfer -f -y 1 w2@0x36 0x30 0x0A r3

bf770923b8807b3ffccf860049547f28.png

0x36为I2C设备的地址, 0x300A为要读的寄存器地址, r3为连续读3Byte, 0x56 0x08 0x41 为读到的寄存器的值。

其他命令

i2cdump、i2cget、i2cset只适用于读写8位的寄存器地址, 功能完全可由i2ctransfer代替, 所以不做介绍。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值