目錄
- 前言
- 開源地址
- 使用說明
- i2cdetect
- i2cdump
- i2cset
前言
上一篇博客中介紹了CH347配合i2c-tools在Linux下的使用,但我們能不能在Windows中也是用i2c-tools進行I2C設備的調試呢。這里我將i2cdetect、i2cdump、i2cset三個常用的工具移植至Windows平臺,并進行開源。
CH347 Windows下I2C驅動:
https://www.wch.cn/downloads/CH341PAR_EXE.html
開源地址
https://github.com/ZhiyuanYuanNJ/CH347-I2C-TOOLS
使用說明
拉去倉庫后,進行編譯:
mkdir build && cd build
cmake ..
cmake --build .
編譯完成后,build文件夾下將生成i2cdetect.exe
i2cdump.exe
i2cset.exe
三個程序。
i2cdetect
查詢當前I2C總線中設備
i2cdetect.exe 0
current using CH347 index : 00 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
i2cdump
讀取Index為0的CH347,I2C地址為0x50的數據內容,默認讀取255字節。
i2cdump.exe 0 0x50
current using CH347 index : 00 1 2 3 4 5 6 7 8 9 a b c d e f |0123456789abcdef|
00: ff cd 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f |................|
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f |................|
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f | !"#$%&'()*+,-./|
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f |0123456789:;<=>?|
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f |@ABCDEFGHIJKLMNO|
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f |PQRSTUVWXYZ[\]^_|
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f |`abcdefghijklmno|
70: 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f |pqrstuvwxyz{|}~.|
80: 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f |................|
90: 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f |................|
a0: a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af |................|
b0: b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf |................|
c0: c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf |................|
d0: d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df |................|
e0: e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef |................|
f0: f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |................|
i2cset
對0x50設備的0x04寄存器寫入0x77.
Index為0的CH347,
寫入I2C地址為0x50,
寫入寄存器地址0x40,
-b:按字節寫入,
-r:需要回讀校驗
i2cset.exe 0 0x50 0x04 -b -r 0x77
current using CH347 index : 0
Verification successfully.
如需其他類型寫入,可使用-h
命令自行查看使用方式。