嵌入式菜鸟^_^ 发表于 2023-12-29 12:05:46

USBX CDC发送1024字节时无法正常发出去



当USB发送长度>=1024时,USBX数据无法正常发出,需要等到数据量达到4K才能发出,小于1024字节正常

例如上图,代码写的是每2秒发送1K数据,现在变成了第8秒时发送4K数据

eric2013 发表于 2023-12-29 12:48:21

分包发,每次512字节是否正常,全速超过64必然要分包,高速是512分包

全速 USB 支持 8、16、32 或 64 字节。
高速 USB 支持 512 字节

嵌入式菜鸟^_^ 发表于 2023-12-29 14:38:06

eric2013 发表于 2023-12-29 12:48
分包发,每次512字节是否正常,全速超过64必然要分包,高速是512分包

全速 USB 支持 8、16、32 或 64 字 ...


从现象上来看,一次发送1024字节一下都是正常的(没有进行分包处理),但是当发送长度来到1024字节时,就会出现写四次发送一次的情况
我使用的是全速设备,FS,12Mb

嵌入式菜鸟^_^ 发表于 2023-12-29 14:48:44

在求教一下


这个设置表示的是端点传输字节配置,是写在描述符里面的,意思是一次发送的最大字节长度吗?

哪这个TX和RXFiFO设置又起到了什么作用,请硬汉大佬赐教:lol

eric2013 发表于 2023-12-29 15:02:11

嵌入式菜鸟^_^ 发表于 2023-12-29 14:48
在求教一下




这个FIFO是个硬件缓冲,跟你的断点传输大小没关系。你的全速2.0的话,最大就是64字节,每次传输小于等于64字节,超过就是分包完成的。

嵌入式菜鸟^_^ 发表于 2023-12-29 15:13:01

eric2013 发表于 2023-12-29 15:02
这个FIFO是个硬件缓冲,跟你的断点传输大小没关系。你的全速2.0的话,最大就是64字节,每次传输小于等于6 ...

哪这个FIFO的大小对于传输有什么影响啊,在请大佬赐教一下

ccschen 发表于 2024-2-17 19:47:53

楼主解决了?现在同样的现象。
页: [1]
查看完整版本: USBX CDC发送1024字节时无法正常发出去