基于STM32F103的USB CDC在Windows7和Ubuntu上具有不同的传输效果

基于STM32F103的USB CDC在Windows7和Ubuntu上具有不同的传输效果,usb,stm32,cdc,Usb,Stm32,Cdc,我使用STM32F103通过USB CDC以4000Hz的频率向PC发送数据,每个数据包21字节。STMCube生成的代码。然后我发现在Windows7上通过串行助手每秒只能接收1000个数据包,但在Ubuntu上通过CuteCOM通常每秒可以接收4000个数据包。如何在Windows7上实现相同的效果?多谢各位 int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USB_DE

我使用STM32F103通过USB CDC以4000Hz的频率向PC发送数据,每个数据包21字节。STMCube生成的代码。然后我发现在Windows7上通过串行助手每秒只能接收1000个数据包,但在Ubuntu上通过CuteCOM通常每秒可以接收4000个数据包。如何在Windows7上实现相同的效果?多谢各位

int main(void)
{
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_USB_DEVICE_Init();
    while(1)
    {
        __WFI();
    }
}

void HAL_SYSTICK_Callback(void)      //4000Hz
{
    CDC_Transmit_FS(buff, 21);
}
我使用python进行测试,结果是:


非常有趣-但FS硬件的滴答声为1ms。感谢您的回复。CDC属于批量传播,批量传播是否也受到1ms的限制?如果是1ms,并且USB_FS_MAX_PACKET_大小为64字节,如何使传输速度接近最大速度-12Mbit/s?难道没有办法每秒向Windows7发送4000个数据包吗?非常感谢。