Usage: i2cset [-f] [-y] [-m MASK] [-r] [-a] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]
I2CBUS is an integer or an I2C bus name
ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is given)
MODE is one of:
c (byte, no value)
b (byte data, default)
w (word data)
i (I2C block data)
s (SMBus block data)
Append p for SMBus PEC
f:強制訪問
y:指令執行自動yes,否則會提示確認執行Continue? [Y/n] Y,不加參數y會有很多執行提示,可以幫助判斷
r:寫入后立即回讀寄存器的值,并將結果與寫入的值進行比較
i2cbus:總線編號
chip-address:i2c設備地址
data-address:i2c寄存器地址
value 要寫入的值
mode:指定讀取的大小,b字節,w字,s是SMBus塊,i是i2c塊
設置i2c-1上0x20器件的0x77寄存器值為0x3f
./i2cset -f -y 1 0x20 0x77 0x3f
i2cget:讀取i2c設備某個寄存器的值
Usage: i2cget [-f] [-y] [-a] I2CBUS CHIP-ADDRESS [DATA-ADDRESS [MODE]]
I2CBUS is an integer or an I2C bus name
ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is given)
MODE is one of:
b (read byte data, default)
w (read word data)
c (write byte/read byte)
Append p for SMBus PEC
f:強制訪問
y:關閉交互模式,不會提示警告信息
i2cbus:總線編號
chip-address:i2c設備地址
data-address:i2c寄存器地址
mode:指定讀取的大小,b字節,w字,s是SMBus塊,i是i2c塊
讀取i2c-1上0x20器件的0x77寄存器值
./i2cget -f -y 1 0x20 0x77
i2cdump:讀取某個i2c設備所有寄存器的值
Usage: i2cdump [-f] [-y] [-r first-last] [-a] I2CBUS ADDRESS [MODE [BANK [BANKREG]]]
I2CBUS is an integer or an I2C bus name
ADDRESS is an integer (0x03 - 0x77, or 0x00 - 0x7f if -a is given)
MODE is one of:
b (byte, default)
w (word)
W (word on even register addresses)
s (SMBus block)
i (I2C block)
c (consecutive byte)
Append p for SMBus PEC
r:指定寄存器范圍,只能掃描從 first 到 last 區域
f:強制訪問設備
y:關閉人機交互模式
i2cbus:總線編號
address:指定設備地址
mode:指定讀取的大小,b字節,w字,s是SMBus塊,i是i2c塊
讀取i2c1上0x38器件的所有寄存器
./i2cdump -f -y -a 1 0x38
一般寄存器都是8位地址的,i2cdump、i2cget、i2cset 也是設置讀取8位的地址,如果一次超過8位,需要用 i2ctransfer。
i2ctransfer:一次性讀寫多個字節
Usage: i2ctransfer [-f] [-y] [-v] [-V] [-a] I2CBUS DESC [DATA] [DESC [DATA]]...
I2CBUS is an integer or an I2C bus name
DESC describes the transfer in the form: {r|w}LENGTH[@address]
1) read/write-flag 2) LENGTH (range 0-65535) 3) I2C address (use last one if omitted)
DATA are LENGTH bytes for a write message. They can be shortened by a suffix:
= (keep value constant until LENGTH)
+ (increase value by 1 until LENGTH)
- (decrease value by 1 until LENGTH)
p (use pseudo random generator until LENGTH with value as seed)
查看系統上存在的 i2c 總線及其設備地址
ls /sys/bus/i2c/devices/
可以在這里查看實際的設備,然后對比 i2c-tools 掃描出來的對不對。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
嵌入式
+關注
關注
5069文章
19023瀏覽量
303424 -
寄存器
+關注
關注
31文章
5325瀏覽量
120032 -
命令
+關注
關注
5文章
678瀏覽量
21987
發布評論請先 登錄
相關推薦
I2C總線原理詳解
I2C兩線式串行總線通訊協議,它是由飛利浦開發的,主要用于連接微控制器及其外圍設備之間,它是由數據線SDA和信號線SCL構成的,可發送和接收數據即在MUC和I2C設備之間,I2C和I2C
發表于 10-18 17:20
?2255次閱讀
I2C通信詳解
救!《【STM32-I2C學習總結】STM32:硬件-IIC詳解 , 固件庫編程 , 手把手教你實現IIC》這里是我以前寫的,硬件實現I2C的一個文章,文章末尾有軟件實現I2C的方法,
發表于 02-28 11:24
I2C Guid I2C指南
I2C Guid I2C指南
The I2C bus is used in a wide rangeof applications because it is simpleand
發表于 04-23 13:55
?36次下載
I2C總線詳解
I2C總線定義 I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。I2C總線產生于在80年代,最初為音頻和視頻設備開發,如今
發表于 06-30 11:09
?3831次閱讀
嵌入式linux應用讀寫i2c示例
這里分享一個嵌入式linux讀寫24c02的i2c程序ioctl函數的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned
發表于 11-01 16:57
?12次下載
STM32學習之I2C協議(讀寫EEPROM)
EEPROM)。# 一、I2C協議(讀寫EEPROM)1、SCL2、SDA二、代碼1.i2c.c代碼如下(示例):#include "i2c
發表于 11-30 15:21
?32次下載
STM32F103硬件I2C Slave
MCU:STM32F103IDE:STM32CubeIDEHAL庫硬件I2C當作Slave,模擬EEPROM行為測試工具:樹莓派為I2C主機,使用I2C-tools進行測試配置I2C:
發表于 12-20 19:38
?52次下載
硬件I2C與模擬I2C
硬件I2C對應芯片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的,因而效率要遠高于軟件模擬的I2C;一般也較為穩定,但
發表于 12-28 19:14
?81次下載
i2c-tools工具的安裝和使用簡單介紹
i2c-tools工具是一個專門調試i2c的,開源,可獲取掛載的設備及設備地址,還可以讀寫I2C設備寄存器。
i2c-tools工具的介紹
i2c-tools 簡介 在嵌入式開發中,有時候需要確認硬件是否正常連接,設備是否正常工作,設備的地址是多少等等,這里我們就需要使用一個用于測試I2C 總線的工具:i2c-tools
評論