本文主要介紹了樹莓派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.csdn.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