如何看I2C的從機位址(MMA8451Q晶元為例)

2021-07-15 06:42:29 字數 472 閱讀 9844

最近在寫乙個i2c通訊的程式,看到晶元規格書上面是這樣子寫從機位址的

規格書是這樣看得,6到0位是0x1c,然後加上讀或寫的那位也就是r/w位上1or0,就成了8位,最後的0x39和0x38是從機位址0x1c並上了r/w位之後得到的最終資料。通常來說從機位址應該是0x1c,然後根據自己的需求並上1or0進行讀或寫操作。

mma8451q的從機位址只有乙個,當sa0接高電平時從機位址為0x1d,sa0接低電平是從機位址是0x1c,並不是0x38或者是0x39。

這個問題很簡單,但是早上我沒看出來,只要自己的筆寫上幾筆就可以得到結果,然而我還是詢問了別人,明白之後我都想插自己幾刀。

身邊有很多老師,自己也有很多問題,有很多問題可以自己搞懂的就不要去問別人,解決問題的能力還需要培養,不要一動不動就到處問人,我要改掉這個壞習慣。

I2C裝置主機與從機位址設定

i2c裝置一般使用mcu作為主機,主機與從機通過匯流排連線起來,分別是scl時鐘匯流排和sda資料匯流排,主機傳送給從機scl時鐘訊號,sda傳送資料,如下圖所示 stm32作為主裝置,主機位址可隨意設定,從裝置必須配置位址 i2c initstructure.i2c ownaddress1 i2c...

I2C器件的從裝置位址設定

i2c中24c02從位址設定 今天看了一下at24c02的程式,發現 從裝置位址 有點不明白,現在以at24c02為例子說說我的見解。首先,先看一下at24c02的晶元資料,我們會發現at24c02有三個位址a0,a1,a2。同時,我們會在資料的device address介紹發現i2c器件一共有七...

為什麼I2C從機位址要左移一位

對許多剛開始接觸i2c的新手來說,最開始比較疑惑,當mcu做主機與一些i2c介面的從機 比如一些數字感測器,大多數仍為i2c介面 通訊時,無論是用io模擬i2c協議還是使用i2c模組,在傳送從機位址時為什麼都需要將從機手冊的i2c位址左移一位發出去呢?當然這個問題是比較初級的了,高手直接略過,新手權...