CH374与USB键盘

我现在遇到这样的问题了,CH374枚举USB键盘成功,但是获取按键值失败,键盘灯一直在闪。我接的是数字小键盘

这是串口接收到的数据

设备描述符:12 01 10 01 00 00 00 08 D5 05 89 06 03 01 00 01 00 01 

设置USB设备地址0X02成功

获取配置描述符:

09 02 3B 00 02 01 00 A0 32 09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 41 00 07 05 81 03 08 00 0A 09 04 01 00 01 03 00 00 00 09 21 10 01 00 01 22 32 00 07 05 82 03 05 00 0A 

hid_des_leng=41

endp_in_addr=01

endp_out_addr=00

HID_Desc: 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 95 08 75 01 81 02 95 08 75 01 81 01 05 08 19 01 29 03 95 03 75 01 91 02 95 01 75 05 91 01 05 07 19 00 2a ff 00 15 00 26 ff 00 95 06 75 08 81 00 c0 

Set_Report success

1488594019509926.jpg

这种小键盘
现在不知道问题出在那了,麻烦大神指点一下了,谢谢

没人可以解答一下吗。j_0065.gif


枚举成功后,按键一直按住,会返回按键值

00 00 53 00 00 00 00 00 

00 00 00 00 00 00 00 00 



一般键盘按下去会返回键值码,抬起返回8个0,你抓一下包是不是这样,前面有没有漏掉什么?bus hound网上自行下载。


blob.png



  19    IN     01 00 47 00  00 00 00 00                                                  ..G.....                                 1.1.0        

  19    IN     01 00 47 00  01 00 00 00                                                  ..G.....                                 2.1.0        

  19    IN     01 00 4f 00  00 00 00 00                                                   ..O.....                                 3.1.0       

  19    IN     01 00 4f 00  01 00 00 00                                                   ..O.....                                 4.1.0       

  19    IN     01 00 50 00  00 00 00 00                                                   ..P.....                                 5.1.0       

  19    IN     01 00 50 00  01 00 00 00                                                   ..P.....                                 6.1.0       

  19    IN     01 00 4f 00  00 00 00 00                                                    ..O.....                                 7.1.0(2)  

  19    IN     01 00 4f 00  01 00 00 00                                                    ..O.....                                 8.1.0(2)  

  19    IN     01 00 50 00  00 00 00 00                                                   ..P.....                                11.1.0(2)  

  19    IN     01 00 50 00  01 00 00 00                                                   ..P.....                                12.1.0(2) 

  19    IN     01 00 51 00  00 00 00 00                                                   ..Q.....                                15.1.0      

  19    IN     01 00 51 00  01 00 00 00                                                   ..Q.....                                16.1.0       按键按下抓的包


01 00 47 00  00 00 00 00

01 00 47 00  01 00 00 00,这分别对应着按下和抬起的键码吗?那你后面分析键码按照这个分析就好了。

抓获取键码值之前的过程分析

 


不知道怎么抓枚举过程和获取按键值过程。

blob.pngblob.png


Device  Phase  Data        Description                       Cmd.Phase.Ofs(rep)

------  -----  ---------------------------------------------------------------------------------------------------

  15.0  CTL    80 06 00 01  00 00 12 00                   GET DESCRIPTOR           1.1.0        

  15.0  IN     12 01 10 01  00 00 00 08  d5 05 89 06  03 01 00 01  00 01      ..................                       1.2.0        

  15.0  CTL    80 06 00 02  00 00 09 00                  GET DESCRIPTOR                           2.1.0        

  15.0  IN     09 02 22 00  01 01 00 a0  32                      ..".....2                                2.2.0        

  

  15.0  CTL    80 06 00 02  00 00 22 00                 GET DESCRIPTOR                           3.1.0        

  15.0  IN     09 02 22 00  01 01 00 a0  32 09 04 00  00 01 03 01  01 00 09 21  10 01 00 01  22 41 00 07  05 81 03 08  ..".....2..........!...."A......         3.2.0        

               00 0a                                                                                                   ..                                       3.2.32       

  

  15.0  CTL    00 09 01 00  00 00 00 00                     SET CONFIG                               4.1.0        

  15.0  CTL    21 0a 00 00  00 00 00 00                      SET IDLE                                 5.1.0        

  

  15.0  CTL    81 06 00 22  00 00 81 00                     GET DESCRIPTOR                           6.1.0        

  15.0  IN     05 01 09 06  a1 01 05 07  19 e0 29 e7  15 00 25 01  95 08 75 01  81 02 95 08  75 01 81 01  05 08 19 01  ..........)...%...u.....u.......         6.2.0        

               29 03 95 03  75 01 91 02  95 01 75 05  91 01 05 07  19 00 2a ff  00 15 00 26  ff 00 95 06  75 08 81 00  )...u.....u.......*....&....u...         6.2.32       

               c0                                                                                                      .                                        6.2.64       

  15.0  CTL    21 09 00 02  00 00 01 00                        SET REPORT                               7.1.0        

  15.0  OUT    01                                                                                                      .                                        7.2.0        

  


  15.1  IN     00 00 59 00  00 00 00 00                                                                                ..Y.....                                 8.1.0        

  17    IN     01 00 4f 00  00 00 00 00  00 00 00 00                                                                   ..O.........                             9.1.0        

  15.1  IN     00 00 00 00  00 00 00 00                                                                                ........                                10.1.0        

  17    IN     01 00 4f 00  01 00 00 00  00 00 00 00                                                                   ..O.........                            11.1.0        

  15.1  IN     00 00 00 00  00 00 00 00                                                                                ........                                12.1.0        

  15.1  IN     00 00 5a 00  00 00 00 00                                                                                ..Z.....                                13.1.0        

  17    IN     01 00 50 00  00 00 00 00  00 00 00 00                                                                   ..P.........                            14.1.0        

  15.1  IN     00 00 00 00  00 00 00 00                     



只有登录才能回复,可以选择微信账号登录