目录
- 前言
- 开源地址
- 使用说明
- 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
命令自行查看使用方式。