USB hid通讯 间隔报告的困扰

平台:stm32  win7 winxp
代码:移植的是keil下例程更改。

需求:为了免驱,兼容win7 xp .没有用cdc 模式。而是采用 hid通信。可是实际中有一个问题就是间隔报告。目前的策略是无协议通信时,间隔报告无用数据。。用协议通信时,报告实际协议内容。
若是间隔报告太频繁,则又太占usb带宽,若是间隔报告间隔过久,致使协议回应太慢,从而影响通信速率。

若是下载大文件时,感受时间过久。还不如串口快。spa


但有一个手段能够解决,但设备端不能主发数据,由PC端去拉数据:.net

Bus Hound 6.01 capture on Windows Vista Service Pack 1 (x64). Complements of www.perisoft.net


不间隔报文实现手段数据监控


  Device - Device ID (followed by the endpoint for USB devices)
            (15) USB 输入设备
            (16) HID-compliant device
  Length - Total transfer length
  Phase  - Phase Type
            CTL   USB control transfer       
            IN    Data in transfer           
            OUT   Data out transfer          
            USTS  USB status                 
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Time   - Time the phase occurred in hour:minute:second.millisec form




Device  Length    Phase  Data                                                Description       Time        
------  --------  -----  --------------------------------------------------  ----------------  ------------
  15.0            CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR    09:54:35.382  
  15.0        18  IN     12 01 00 02  00 00 00 40  14 23 0c 02  00 01 01 02  .......@.#......  09:54:35.383  
                         03 01                                               ..                              
  15.0            CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR    09:54:35.383  
  15.0         9  IN     09 02 29 00  01 01 00 c0  fa                        ..)......         09:54:35.383  
  15.0            CTL    80 06 00 02  00 00 29 00                            GET DESCRIPTOR    09:54:35.383  
  15.0        41  IN     09 02 29 00  01 01 00 c0  fa 09 04 00  00 02 03 00  ..).............  09:54:35.383  
                         00 00 09 21  10 01 00 01  22 71 00 07  05 81 03 40  ...!...."q.....@                
                         00 40 07 05  01 03 40 00  0a                        .@....@..                       
  15.0            CTL    00 09 01 00  00 00 00 00                            SET CONFIG        09:54:35.383  
  15.0            CTL    21 0a 00 00  00 00 00 00                            SET IDLE          09:54:35.384  
  15.0            USTS   c0000004                                            stall pid         09:54:35.384  
  15.0            CTL    81 06 00 22  00 00 b1 00                            GET DESCRIPTOR    09:54:35.384  
  15.0       113  IN     06 00 ff 09  01 a1 01 85  01 95 08 75  08 26 ff 00  ...........u.&..  09:54:35.384  
                         15 00 09 01  91 02 85 02  95 01 75 08  26 ff 00 15  ..........u.&...                
                         00 09 01 91  02 85 03 95  02 75 08 26  ff 00 15 00  .........u.&....                
                         09 01 91 02  85 04 95 01  75 08 26 ff  00 15 00 09  ........u.&.....                
                         01 81 02 85  05 95 32 75  08 26 ff 00  15 00 09 01  ......2u.&......                
                         81 02 85 06  95 fe 75 08  26 ff 00 15  00 09 01 b1  ......u.&.......                
                         02 85 07 95  32 75 08 26  ff 00 15 00  09 01 91 02  ....2u.&........                
                         c0                                                  .                               
  15.0            CTL    21 09 06 03  00 00 ff 00                            SET REPORT        09:54:42.876  
  15.0       255  OUT    06 02 00 03  00 01 00 01  03 00 00 00  00 00 00 00  ................  09:54:42.876  
                         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  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  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  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  ................                
                         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  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  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  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  ................                
                         00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............                 
  15.0            CTL    a1 01 06 03  00 00 ff 00                            GET REPORT        09:54:42.892  
  15.0        23  IN     06 02 00 11  00 00 00 4d  54 33 2d 52  4b 33 33 20  .......MT3-RK33   09:54:42.892  
                         56 31 2e 30  33 74 03                               V1.03t.                         
  15.0            CTL    21 09 06 03  00 00 ff 00                            SET REPORT        09:54:42.923  
  15.0       255  OUT    06 02 00 04  00 09 00 14  1d 03 00 00  00 00 00 00  ................  09:54:42.924  
                         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  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  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  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  ................                
                         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  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  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  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  ................                
                         00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............                 
  15.0            CTL    a1 01 06 03  00 00 ff 00                            GET REPORT        09:54:42.924  
  15.0            USTS   c0000004                                            stall pid         09:54:42.927  
  15.0            CTL    a1 01 06 03  00 00 ff 00                            GET REPORT        09:54:42.927  
  15.0        29  IN     06 02 00 17  00 00 00 4d  54 33 2d 4d  44 31 32 31  .......MT3-MD121  09:54:42.927  
                         32 32 33 30  30 30 30 31  00 00 00 3e  03           22300001...>.                   
  15.0            CTL    21 09 06 03  00 00 ff 00                            SET REPORT        09:54:55.855  
  15.0       255  OUT    06 02 00 04  c1 40 00 00  81 03 00 00  00 00 00 00  .....@..........  09:54:55.856  
                         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  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  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  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  ................                
                         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  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  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  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  ................                
                         00 00 00 00  00 00 00 00  00 00 00 00  00 00 00     ...............                 
  15.0            CTL    a1 01 06 03  00 00 ff 00                            GET REPORT        09:54:55.856  
  15.0            USTS   c0000004                                            stall pid         09:54:55.863  
  15.0            CTL    a1 01 06 03  00 00 ff 00                            GET REPORT        09:54:55.864  
  15.0         9  IN     06 02 00 03  00 16 00 16  03                        .........         09:54:55.864  
orm