其中 0xAA0x00usb 包的识别控制流

0x740x75 会控制SCL/SDA发出 STARTSTOP 信号

0xAA: 0b10101010
0x00: 0b00000000
0x74: 0b01110100
0x75: 0b01110101
0x80: 0b10000000
0xC0: 0b11000000

设置总线速度

enum ch347_speed_t {
	CH347_I2C_LOW_SPEED = 0,	// low speed - 20kHz
	CH347_I2C_STANDARD_SPEED = 1,	// standard speed - 100kHz
	CH347_I2C_FAST_SPEED = 2,	// fast speed - 400kHz
	CH347_I2C_HIGH_SPEED = 3,	// high speed - 750kHz
};
obuf[0] = 0xAA
obuf[1] = 0x60 | speed
obuf[2] = 0x00 // 命令结束

读操作

IIC通信首先是发送从机地址, 从机通常是 7 位地址, 左移1为低位通常是 0 为写操作, 1 为读操作。

[0xAA, 0x74, 0x80 | 1, addr<<1|1, 0xC0|len, 0xC0, 0x75, 0x00]