树莓派cm3+的i2c使用总结
本文主要介绍了树莓派cm3+的i2c的使用配置方法,包括芯片平台自带的两个i2c外设soc的使用,i2c0总线上面挂接多个i2c设备的设备地址探测以及配置软件模拟i2c的方法。
根据树莓派cm3+的datasheet得知有2个i2c外设。
默认情况下,使用i2cdetect -l只能看到i2c-1:
这个时候如果还需要查看i2c-0的话,需要在/boot/config.txt中加入dtparam=i2c_vc=on,然后重启:
由于i2c0一般是接到camera的,所以在reboot后使用sudo i2cdetect -l查看不到camera的i2c地址,这个时候可以使用一下camera:raspistill -v后再执行sudo i2cdetect -l就可以看到如下的设备地址0x64了。这个就是camera的i2c地址。
如果在这个时候需要在这个i2c外设上面增加一个如下所示的i2c设备:
连接好了之后,i2c0总线上的设备有0x30和0x64,其中0x30就是新增加的i2c设备,加上最低位读写位,刚好就是上面所说的8-bit 读写地址:0x61和0x60
参考:https://blog.****.net/xukai871105/article/details/15029843
使用i2c-tools提供的工具i2cdetect i2cdump i2cset i2cget操作i2c器件。
1.读出i2c设备中所有寄存器的内容:
软件i2c的设置
增加软件i2c的功能,cm3+中只有两个i2c外设:
如果想在其他的引脚使用i2c的功能,可以参照如下的方式,设置软件i2c的功能。
参考:https://www.cnblogs.com/denglinzhe/p/12673826.html
根据/boot/overlay/README中的内容:
在/boot/config.txt中增加软件i2c的功能
bus=3
i2c_gpio_delay_us=1
i2c_gpio_sda=42
i2c_gpio_scl=43