Skip to main content
标签ad报错:该广告ID(9)不存在。
  主页 > Qt嵌入式

ch340+ch9329实现键盘和鼠标模拟器(三) 通信命令举测

2023-05-05 浏览:
标签ad报错:该广告ID(7)不存在。
1、 CMD_GET_INFO------------------0x01-----------------获取芯片版本等信息
    串口下传: 57 AB 00 01 00 03
    芯片上传: 57 AB 00 81 08 30 01 03 00 00 00 00 00 BF

2、 CMD_SEND_KB_GENERAL_DATA------0x02-----------------发送USB键盘普通数据

    (1)、模拟"A"键先按下,再释放
    串口下传: 57 AB 00 02 08 00 00 04 00 00 00 00 00 10
    芯片上传: 57 AB 00 82 01 00 85
  
    串口下传: 57 AB 00 02 08 00 00 00 00 00 00 00 00 0C
    芯片上传: 57 AB 00 82 01 00 85
        
    (2)、模拟先同时按下“左Shift”+“A”键,再释放:
    串口下传: 57 AB 00 02 08 02 00 04 00 00 00 00 00 12
    芯片上传: 57 AB 00 82 01 00 85
    
    串口下传: 57 AB 00 02 08 00 00 00 00 00 00 00 00 0C
    芯片上传: 57 AB 00 82 01 00 85

3、 CMD_SEND_KB_MEDIA_DATA--------0x03-----------------发送USB键盘多媒体数据
    (1)、多媒体按键(禁音)
    串口下传: 57 AB 00 03 04 02 04 00 00 0F
    芯片上传: 57 AB 00 83 01 00 86
    
    串口下传: 57 AB 00 03 04 02 00 00 00 0B
    芯片上传: 57 AB 00 83 01 00 86

4、 CMD_SEND_MS_ABS_DATA----------0x04-----------------发送USB绝对鼠标数据
    
    (1)、模拟先按下鼠标“左”键,再释放鼠标“左”键,则需要发送2个命令包为:
    串口下传: 57 AB 00 04 07 02 01 00 00 00 00 00 10
    芯片上传: 57 AB 00 84 01 00 87

    串口下传: 57 AB 00 04 07 02 00 00 00 00 00 00 0F
    芯片上传: 57 AB 00 84 01 00 87

    (2)、控制鼠标先移动到(100,100)位置,再移动到(968,500)位置,则需要发送2个命令包为:
         根据计算机实际分辨率(1280 * 768)计算位置:
         计算位置X1 = ( 100 * 4096 ) / 1280 = 320 = 0x140
         计算位置Y1 = ( 100 * 4096 ) / 768  = 533 = 0x215
    串口下传: 57 AB 00 04 07 02 00 40 01 15 02 00 67
    芯片上传: 57 AB 00 84 01 00 87
       
         根据计算机实际分辨率(1280 * 768)计算位置:
         计算位置X1 = ( 968 * 4096 ) / 1280 = 3097 = 0xC19
         计算位置Y1 = ( 500 * 4096 ) / 768  = 2667 = 0xA6B
            
    串口下传: 57 AB 00 04 07 02 00 19 0C 6B 0A 00 A9
    芯片上传: 57 AB 00 84 01 00 87
    
5、 CMD_SEND_MS_REL_DATA----------0x05-----------------发送USB相对鼠标数据
    (1)、模拟先按下鼠标“左”键,再释放鼠标“左”键,则需要发送2个命令包为:
    串口下传: 57 AB 00 05 05 01 01 00 00 00 0E
    芯片上传: 57 AB 00 85 01 00 88

    串口下传: 57 AB 00 05 05 01 00 00 00 00 0D
    芯片上传: 57 AB 00 85 01 00 88

    (2)、控制鼠标先向左移动3个像素点,再向下移动5个像素点,则需要发送2个命令包为:
    串口下传: 57 AB 00 05 05 01 00 FD 00 00 0A
    芯片上传: 57 AB 00 85 01 00 88
     
    串口下传: 57 AB 00 05 05 01 00 00 05 00 12
    芯片上传: 57 AB 00 85 01 00 88

6、 CMD_SEND_MY_HID_DATA----------0x06-----------------发送USB自定义HID设备数据
    串口下传: 57 AB 00 06 10 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 90
    芯片上传: 57 AB 00 85 01 00 88

7、 CMD_READ_MY_HID_DATA----------0x87-----------------读取USB自定义HID设备数据
    
    如果计算机下传一包5个字节数据(0x12、0x34、0x56、0x78、0x90),则:
    芯片上传: 57 AB 00 87 05 12 34 56 78 90 32

8、 CMD_GET_PARA_CFG--------------0x08-----------------获取参数配置
    串口下传: 57 AB 00 08 00 0A
    芯片上传: 57 AB 00 88 32 80 80 00 00 00 25 80 08 00 00 03 86 1A 29 E1 00 00 00 01 00 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E
    返回的值:
    80--------------芯片工作模式(0x80表示由硬件引脚配置的模式0)
    80--------------芯片串口通信模式(0x80表示由硬件引脚配置的模式0)
    00--------------芯片串口通信地址
    00 00 25 80-----芯片串口通信波特率
    08 00-----------保留
    00 03-----------芯片串口通信包间隔
    86 1A 29 E1-----芯片USB的VID和PID
    00 00-----------芯片USB键盘上传时间间隔
    00 01-----------USB键盘释放延时时间
    00--------------芯片USB键盘自动回车标志
    0D 0A 00 00 00 00 00 00-----芯片USB键盘回车符
    00 00 00 00 00 00 00 00-----芯片USB键盘过滤开始、结束字符串
    00--------------芯片USB字符串使能标志
    00 00 00 00 00 00 00 00 00 00 00 00 00----保留
    
9、 CMD_SET_PARA_CFG--------------0x09-----------------设置参数配置
    (1)、设置芯片工作模式3,其它不变
    串口下传: 57 AB 00 09 32 03 00 00 00 00 25 80 08 00 00 03 86 1A 29 E1 00 00 00 01 00 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B2
    芯片上传: 57 AB 00 89 01 00 8C
    
    (2)、设置芯片工作模式3,串口通信波特率为115200
    串口下传: 57 AB 00 09 32 03 00 00 00 01 C2 00 08 00 00 03 86 1A 29 E1 00 00 00 01 00 0D 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D0
    芯片上传: 57 AB 00 89 01 00 8C
    
10、CMD_GET_USB_STRING------------0x0A------------------获取字符串描述符配置
    
    (1)、未设置过厂商字符串描述符
    串口下传: 57 AB 00 0A 01 00 0D
    芯片上传: 57 AB 00 8A 18 00 17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF A5
    
    
11、CMD_SET_USB_STRING------------0x0B-----------------设置字符串描述符配置

    (1)、设置厂商字符串描述符: "0123456789"
    串口下传: 57 AB 00 0B 0C 00 0A 30 31 32 33 34 35 36 37 38 39 30
    芯片上传: 57 AB 00 8B 01 00 8E
    

12、CMD_SET_DEFAULT_CFG-----------0x0C-----------------恢复出厂默认配置
    串口下传: 57 AB 00 0C 00 0E
    芯片上传: 57 AB 00 8C 01 00 8F
    
13、CMD_JUMP_TO_ISP---------------0x0D-----------------跳转进入BOOT
    串口下传: 57 AB 00 0D 00 0F
    芯片上传: 57 AB 00 8D 01 00 90

14、CMD_RESET---------------------0x0F-----------------复位芯片
    串口下传: 57 AB 00 0F 00 11
    芯片上传: 57 AB 00 8F 01 00 92