i2c中24c02從位址設定
今天看了一下at24c02的程式,發現「從裝置位址」有點不明白,現在以at24c02為例子說說我的見解。
首先,先看一下at24c02的晶元資料,我們會發現at24c02有三個位址a0,a1,a2。同時,我們會在資料的device address介紹發現i2c器件一共有七位位址碼,還有一位是讀/寫(r/w)操作位,而在at24c02的前四位已經固定為1010。r/w為1則為讀操作,為0則為寫操作。r/w位我們要設定為0(寫操作)
規則為:1010(a0)(a1)(a2)(r/w)
然後,看一下自己的設定pcb上的at24c02的三位位址引腳的接法。
例子1:
那麼對應的a0,a1,a2都是接的vcc,所以為a0=1,a1=1,a2=1;可以知道at24c02的從裝置寫位址為10101110(0xae),讀裝置位址為10101111(0xaf);
例子2:
那麼對應的a0,a1,a2都是接的vcc,所以為a0=0,a1=0,a2=0;可以知道at24c02的從裝置寫位址為10100000(0xa0),讀裝置位址為10100001(0xa1);
哈哈,「從裝置位址」就這麼確定了,其實也很簡單。
I2C裝置主機與從機位址設定
i2c裝置一般使用mcu作為主機,主機與從機通過匯流排連線起來,分別是scl時鐘匯流排和sda資料匯流排,主機傳送給從機scl時鐘訊號,sda傳送資料,如下圖所示 stm32作為主裝置,主機位址可隨意設定,從裝置必須配置位址 i2c initstructure.i2c ownaddress1 i2c...
I2C掃瞄從裝置方法
這幾天在研究0.96寸oled屏 但是一直都點不亮,同事建議用i2c掃瞄從裝置位址,如是寫了這個函式 雖然最終確定不是軟體問題,但是解題思路很好,因此記錄下來 mcu是stm32f103ve.i2c傳送從裝置位址,檢測哪些位址有應答,則把這些位址答應出來,即可知道此i2c掛載了多少從裝置 i2c s...
Arduino 快速 尋找裝置的I2C位址
這篇有點累贅,因為之前在介紹lcd1602的時候,就已經提到尋找裝置的i2c位址。不過,除了lcd1602還有很多裝置都可以應用到這個功能。凡i2c連線的都可以使用這樣的 找到裝置的i2c位址 這裡就不上圖了 根據模組的i2c接線就可以了 include void setup void loop e...