嵌入式学习小组
直播中

颜立歆

8年用户 976经验值
擅长:控制/MCU
私信 关注

NUC505如果USB发送一个512Byte的数据包,发送不出去是为什么?

代码位于 NUC505_Series_BSP_CMSIS_V3.03.001/SampleCode/USBD_VCOM_SerialEmulator

1. uint8_t gUsbRxBuf[64] = {0};  其中的64应改为512,这是HOST向USB虚拟串口发送大与64字节数据包时发现的。
2. 如果USB发送一个512Byte 的数据包,是发送不出去的。
  改正方法:
  对于512Byte 的数据包,再补充发送一个0长度的数据包。
  或者, 每次发包的最大长度定为511

回帖(1)

马占云

2024-1-31 18:09:28
字节,并循环发送直到所有数据发送完毕。同时,也需要检查代码中是否有对于USB发送缓冲区的大小限制,如果有需要将其修改为支持512字节的数据包。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分