zoukankan      html  css  js  c++  java
  • Linux系统下i2c工具 i2c-tool 的使用

    1. 下载和安装

    下载地址: https://www.kernel.org/pub/software/utils/i2c-tools/

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

    cd i2c-tools-4.1
    make
    

    安装:

    sudo make install 
    

    使用

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

    i2cdetect

    • 显示所有可用的I2C总线
    i2cdetect -l
    

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

    (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
    

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

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

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

    其他命令

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

  • 相关阅读:
    python中的编码问题
    CVPR2018 Tutorial 之 Visual Recognition and Beyond
    hdu 1376 Octal Fractions
    hdu 1329 Hanoi Tower Troubles Again!
    hdu 1309 Loansome Car Buyer
    hdu 1333 Smith Numbers
    hdu 1288 Hat's Tea
    hdu 1284 钱币兑换问题
    hdu 1275 两车追及或相遇问题
    hdu 1270 小希的数表
  • 原文地址:https://www.cnblogs.com/raina/p/12068485.html
Copyright © 2011-2022 走看看