(1)测试工具设置透传模式,使用python调用不生效
(2)python代码如下:
import serial
import time
a = 0x04 # CH9329的A键对应的键码
b = 0x05 # CH9329的B键对应的键码
head = [0x57, 0xAB] # 帧头
addr = [0x00] # 地址码
cmd = [0x02] # 命令码
length = [0x08] # 后续数据长度
# 请根据实际情况修改串口号和波特率
ser = serial.Serial('COM5', 9600, timeout=1)
def send(key_code):
data = [] # 后续数据
# 填充数据部分,始终保持8个字节
for i in range(8):
if len(key_code) > i:
data.append(key_code[i])
continue
data.append(0x00)
# 计算累加和
footer = [(sum(head) + sum(addr) + sum(cmd) + sum(length) + sum(data)) % 256]
# 结合所有部分构造完整的命令包
command_packet = head + addr + cmd + length + data + footer
ser.write(bytes(command_packet)) # 发送数据
ser.flush() # 确保数据被发送
send([a, b]) # 按下"AB"
time.sleep(0.5)
send([a]) # 弹起"B"
time.sleep(0.5)
send([]) # 弹起"A"