CH32V307 USB高速时不能发送1024字节的数据

在使用贵公司示例《》中,只能最大发送512字节的数据,发送1024字节的数据后无数据输出(经测试,大于512字节均是这样)。


已经将usb_desc.h中的DEF_USBD_HS_PACK_SIZE值由原来的512改为了1024.

/* HS */

#define DEF_USBD_HS_PACK_SIZE        1024    /* usb hs device max bluk/int pack size */

#define DEF_USBD_HS_ISO_PACK_SIZE    1024   /* usb hs device max iso pack size */


将usb_desc.c中的wMaxPacketSize由原来的 0x00, 0x02,改成了0x00,0x04.

    /* Endpoint Descriptor */

    0x07,                           // bLength

    0x05,                           // bDescriptorType

    0x01,                           // bEndpointAddress: OUT Endpoint 1

    0x03,                           // bmAttributes

    0x00, 0x04,                     // wMaxPacketSize

    0x01,                           // bInterval: 1mS


    /* Endpoint Descriptor */

    0x07,                           // bLength

    0x05,                           // bDescriptorType

    0x82,                           // bEndpointAddress: IN Endpoint 2

    0x03,                           // bmAttributes

    0x00, 0x04,                     // wMaxPacketSize

    0x01,                           // bInterval: 1mS


请帮忙解决这个问题。谢谢!


另外,请问该芯片支持高速高带宽的中断端点,125 us 微帧内可以进行三次中断传输,即125 us 内可传输 3072 字节的功能吗?


下图是512字节发送成功的图片:

512字节数据.png

您好,能否传输1024字节的数据,具体要看一下模拟的是什么设备,比如CDC设备,协议规定最大包长度就是512字节,就传输不了1024字节的数据。此外,若是模拟HID设备,注意传输最大包长度改为1024时,不仅端点描述符需要进行修改,报表里面以及端点初始化最大包长度设置以及对应的缓冲区数据都要进行修改。125us内可以传输3072字节。后续若有问题,可邮箱(lzs@wch.cn)沟通。


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