IIC-tools使用

1、i2c-tools安装,参考网页https://www.cnblogs.com/raina/p/12068485.html
https://mirrors.edge.kernel.org/pub/software/utils/i2c-tools/地址下载或者
git clone git://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git
rk3399板子官方提供的Ubuntu16.04已带有编译器,可以直接把i2ctools源码文件拷贝到板子上编译make
进入i2c-tools/tools/目录
执行./i2cdetect -l
报错
./i2cdetect: error while loading shared libraries: libi2c.so.0: cannot open shared object file: No such file or directory
创建软链接
  根据提示错误信息,进入i2c-tools/lib/目录,查看ls -l,发现i2ctools执行文件依赖“libi2c.so.0”文件,在板子上直接执行会提示加载库文件失败。通过编译后“lib”目录发现“libi2c.so.0”实际上为一个软链接文件,连接到“libi2c.so.0.1.1”
进入开发板的/lib目录

把i2c-tools/lib/libi2c.so.0.1.1拷贝到开发板/lib目录下:cp ~/i2c-tools/lib/libi2c.so.0.1.1 ./
执行ln -s libi2c.so.0.1.1 libi2c.so.0
修改权限或者直接root登陆执行:sudo chmod 777 /lib/libi2c.so.0
回到i2c-tools/目录
执行make install安装所有命令

2、i2c-tools使用(root权限,命令前面加sudo)
显示所有可用的I2C总线
i2cdetect -l
使用-y 总线号或总线名选项, 查看该总线下所有设备及设备地址:
i2cdetect -y 1  # 查看i2c-1总线下的设备
写(1表示总线号、w表示写、3表示3字节、0x36表示i2c设备地址、后面三个是要写的数据)
sudo i2ctransfer -f -y 1 w3@0x36 0x50 0x81 0x01
0x36为I2C设备的地址, 0x5081为要写的寄存器地址, 0x01为写入的值。
读(r3表示读3个字节)
sudo i2ctransfer -f -y 1 w2@0x36 0x30 0x0A r3
0x36为I2C设备的地址, 0x300A为要读的寄存器地址, r3为连续读3Byte


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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值