USB_SIL_Write 不能发超过4个Byte?

[复制链接]
4919|6
手机看帖
扫描二维码
随时随地手机跟帖
beanandpeach|  楼主 | 2013-8-22 09:24 | 显示全部楼层 |阅读模式
USB_SIL_Write 这个函数为什么最多只能发 4个字节的数据,超过4个字节,uSB就不断的复位?啥原因?
beanandpeach|  楼主 | 2013-8-22 09:25 | 显示全部楼层
有STM32 USB 开发经验的告诉一下咯,谢谢

使用特权

评论回复
IJK| | 2013-8-22 09:38 | 显示全部楼层
USB_SIL_Write 这个函数为什么最多只能发 4个字节的数据 ?
USB_SIL_Write 这个函数印象里是STM32 USB OTG库里用的,肯定可以发多于4个字节的数据,记得我发过,没问题。

对于HID的例子,要改描述符。

使用特权

评论回复
JasonWangFAE| | 2013-8-22 09:56 | 显示全部楼层
your descriptor table of USB ....
1.//===========================================
  0x95, 0x06,             //     REPORT_COUNT (6)
   0x75, 0x08,             //     REPORT_SIZE (8)
   0x81, 0x01,             //     INPUT (Constant); Reserved byte

2.modify max packet size from 2 to 8 , please refer to as below

                        /*        Endpoint descriptor type */
    0x01,        /* bEndpointAddress: */
                        /*        Endpoint Address (OUT) */
    0x03,        /* bmAttributes: Interrupt endpoint */
    0x08,        /* wMaxPacketSize: 8 Bytes max  */
    0x00,
    0x20,        /* bInterval: Polling Interval (20 ms) */
    /* 41 */

使用特权

评论回复
beanandpeach|  楼主 | 2013-8-22 16:14 | 显示全部楼层
JasonWangFAE 发表于 2013-8-22 09:56
your descriptor table of USB ....
1.//===========================================
  0x95, 0x06,      ...

已经把wMaxPacketSize: 改成了0x08了,但是还时一样,不行!还需要改哪里呢?谢谢

使用特权

评论回复
beanandpeach|  楼主 | 2013-8-26 09:20 | 显示全部楼层
JasonWangFAE 发表于 2013-8-22 09:56
your descriptor table of USB ....
1.//===========================================
  0x95, 0x06,      ...

当我发送4个Byte以上是,用BusHound检测到的现象是:

使用特权

评论回复
beanandpeach|  楼主 | 2013-8-26 09:31 | 显示全部楼层
Device  Phase  Data                                                                                                    Description       Cmd.Phase.Ofs(rep)  Delta  Time        
------  -----  ------------------------------------------------------------------------------------------------------  ----------------  ------------------  -----  ------------
  22.1  DI     01 7e 68 00                                                                                             ..h.                     1.1.0        5.8sc  01:09:43.852  
  22.1  NSTS   20 01 00 c0                                                                                             cancelled                1.2.0          5us  01:09:43.852  
  22.0  CTL    80 06 00 01  00 00 12 00                                                                                GET DESCRIPTOR           2.1.0        741ms  01:09:44.593  
  22.0  DI     12 01 00 02  00 00 00 40  83 04 10 57  00 02 01 02  03 01                                               .......@...W....         2.2.0        274us  01:09:44.594  
  22.0  CTL    80 06 00 02  00 00 09 00                                                                                GET DESCRIPTOR           3.1.0         12us  01:09:44.594  
  22.0  DI     09 02 29 00  01 01 00 e0  32                                                                            ..).....2                3.2.0        224us  01:09:44.594  
  22.0  CTL    80 06 00 02  00 00 29 00                                                                                GET DESCRIPTOR           4.1.0         12us  01:09:44.594  
  22.0  DI     09 02 29 00  01 01 00 e0  32 09 04 00  00 02 03 01  02 00 09 21  00 01 00 01  22 4a 00 07  05 81 03 08  ..).....2.......         4.2.0        240us  01:09:44.594  
  22.0  CTL    00 09 01 00  00 00 00 00                                                                                SET CONFIG               5.1.0         10us  01:09:44.594  
  22.0  CTL    21 0a 00 00  00 00 00 00                                                                                SET IDLE                 6.1.0         35ms  01:09:44.629  
  22.0  USTS   04 00 00 c0                                                                                             stall pid                6.2.0        173us  01:09:44.630  
  22.0  CTL    81 06 00 22  00 00 8a 00                                                                                GET DESCRIPTOR           7.1.0         12us  01:09:44.630  
  22.0  DI     05 01 09 02  a1 01 09 01  a1 00 05 09  19 01 29 03  15 00 25 01  95 03 75 01  81 02 95 01  75 05 81 01  ..............).         7.2.0        375us  01:09:44.630  
  22    RSET                                                                                                                                    8.1.0        710ms  01:09:45.340  
  22    NSTS   00 00 00 00                                                                                             success                  8.2.0        147ms  01:09:45.487  
  22.1  RSET                                                                                                                                    9.1.0         14us  01:09:45.487  
  22    RSET                                                                                                                                   10.1.0        6.8sc  01:09:52.381  
  22    NSTS   00 00 00 00                                                                                             success                 10.2.0        147ms  01:09:52.528  
  22.1  RSET                                                                                                                                   11.1.0         13us  01:09:52.528  
  22    RSET                                                                                                                                   12.1.0        1.8sc  01:09:54.411  
  22.1  DI     01 f2 22 00                                                                                             ..".                    13.1.0        116ms  01:09:54.528  
  22.1  USTS   00 03 00 80                                                                                             bad parameter           13.2.0          5us  01:09:54.528  
  22    NSTS   00 00 00 00                                                                                             success                 12.2.0         32ms  01:09:54.560  
  22.1  RSET                                                                                                                                   14.1.0         16us  01:09:54.560  

发送4个Byte以上就是这种现象了。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:寻寻觅觅,心平气和。

35

主题

1428

帖子

6

粉丝