樹莓派學習筆記——I2C Tools 學習筆記

來源:互聯網
上載者:User
1.安裝     I2C驅動載入和速率修改請查看博文【樹莓派學習筆記——I2C裝置載入和速率設定】。 2.I2C匯流排掃描     通過i2cdetect -l指令可以查看樹莓派上的I2C匯流排,從返回的結果來看樹莓派含有兩個I2C匯流排,通過閱讀相關的資料,樹莓派1代使用I2C0,而樹莓派2代使用I2C1。
pi@raspberrypi:~$ i2cdetect -li2c-0   i2c             bcm2708_i2c.0                           I2C adapteri2c-1   i2c             bcm2708_i2c.1                           I2C adapter

3.I2C裝置查詢     若匯流排上掛載I2C從裝置,可通過i2cdetect掃描某個I2C匯流排上的所有裝置。可通過控制台輸入i2cdetect -y 1,結果如下所示。
pi@raspberrypi:~$ i2cdetect -y 1     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --  

說明1:-y為一個選擇性參數,如果有-y參數的存在則會有一個使用者互動過程,意思是希望使用者停止使用該I2C匯流排。如果寫入該參數,則沒有這個互動過程,一般該參數在指令碼中使用。 說明2:此處I2C匯流排共掛載兩個裝置——PCF8574和AT24C04,從機地址0x20為PCF8574,從機地址0x50和0x51為AT24C04,請注意AT24C04具備兩個I2C地址,相關內容請產看參考資料6.4。
4.寄存器內容匯出     通過i2cdump指令可匯出I2C裝置中的所有寄存器內容,例如輸入i2cdump -y 1 0x51,可獲得以下內容:
pi@raspberrypi:~$ i2cdump -y 1 0x51No size specified (using byte-data access)     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    i2cdump -y 1 0x51指令中,     -y        代表取消使用者互動過程,直接執行指令;     1         代表I2C匯流排編號;     0x51    代表I2C裝置從機地址,此處選擇AT24C04的高256位元組內容。
    在該AT24C04的高256位元組尚處於出廠預設狀態,所有的儲存地址中的內容均為0XFF。
5.寄存器內容寫入     如果向I2C裝置中寫入某位元組,可輸入指令i2cset -y 1 0x50 0x00 0x13     -y        代表曲線使用者互動過程,直接執行指令     1         代表I2C匯流排編號
    0x50    代表I2C裝置地址,此處選擇AT24C04的低256位元組內容
    0x00    代表格儲存體器地址
    0x13    代表格儲存體器地址中的具體內容

6.寄存器內容讀出
pi@raspberrypi:~$ i2cget -y 1 0x50 0x000x13

    如果從I2C從裝置中讀出某位元組,可輸入執行i2cget -y 1 0x50 0x00,可得到以下反饋結果
    -y        代表曲線使用者互動過程,直接執行指令     1         代表I2C匯流排編號
    0x50    代表I2C裝置地址,此處選擇AT24C04的低256位元組內容
    0x00    代表格儲存體器地址
7.總結     i2ctools是一個簡單好用的工具,該工具使得I2C裝置的調試更加方便。

8.參考資料 【1】i2ctools官方參考資料 【2】為什麼AT24C04具備兩個I2C從機地址


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.