打印
[STM32F0]

USB CDC模式下数据丢包,是不是PC端没收完?

[复制链接]
399|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Bblythe|  楼主 | 2025-5-7 07:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CD, USB, dc, pc, CDC
我每包64字节发,结果偶尔少几个,是ZLP没发还是握手错了?

使用特权

评论回复
沙发
Clyde011| | 2025-5-7 07:33 | 只看该作者
USB FIFO满的时候是不是直接跳过了?

使用特权

评论回复
板凳
公羊子丹| | 2025-5-7 07:34 | 只看该作者
有ZLP吗?没发完可能PC不收。

使用特权

评论回复
地板
周半梅| | 2025-5-7 07:35 | 只看该作者
看一下有没有等待传输完成再发下一包。

使用特权

评论回复
5
帛灿灿| | 2025-5-7 07:36 | 只看该作者
我加了个状态标志判断再发,丢包就少了。

使用特权

评论回复
6
童雨竹| | 2025-5-7 07:37 | 只看该作者
USB缓冲区大小要对齐64字节。

使用特权

评论回复
7
万图| | 2025-5-7 07:38 | 只看该作者
PC端驱动是什么?Windows有时候会抽风。

使用特权

评论回复
8
Wordsworth| | 2025-5-7 07:38 | 只看该作者
是不是中断太频繁打断发送了?

使用特权

评论回复
9
Bblythe|  楼主 | 2025-5-7 07:39 | 只看该作者
你试过先发一个小包试水吗?

使用特权

评论回复
10
Pulitzer| | 2025-5-7 07:40 | 只看该作者
用逻辑分析仪抓包看一下。

使用特权

评论回复
11
Uriah| | 2025-5-7 07:41 | 只看该作者
我的串口助手默认不自动接收完整数据。

使用特权

评论回复
12
classroom| | 2025-5-7 12:08 | 只看该作者
不一定是PC端没收完,原因估计有点复杂。

使用特权

评论回复
13
stormwind123| | 2025-5-7 12:10 | 只看该作者
可能是数据缓冲区溢出导致的。

使用特权

评论回复
14
elephant00| | 2025-5-7 12:13 | 只看该作者
将USB通讯的中断优先级提高检查其他中断的优先级设置会不会影响USB通讯。

使用特权

评论回复
15
flycamelaaa| | 2025-5-7 13:00 | 只看该作者
如果USB通讯的中断优先级设置过低,可能会被其他更高优先级的中断抢占,导致USB中断处理不及时,从而引发数据丢失。

使用特权

评论回复
16
cr315| | 2025-5-7 15:09 | 只看该作者
固件或库函数可能存在bug。

使用特权

评论回复
17
powerantone| | 2025-5-7 16:00 | 只看该作者
如果有其他定时器的中断优先级比USB通讯的高,这可能导致定时器中断抢占了CPU资源,使得USB通讯处理不及时。

使用特权

评论回复
18
probedog| | 2025-5-7 16:30 | 只看该作者
主机发送数据的速率与STM32F0接收数据的速率不匹配,可能会导致数据丢失。

使用特权

评论回复
19
七毛钱| | 2025-5-7 18:09 | 只看该作者
检查是否有可用的固件或库函数更新。

使用特权

评论回复
20
duo点| | 2025-5-7 18:09 | 只看该作者
建议增加STM32F0的缓冲区容量。

使用特权

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

本版积分规则

79

主题

4821

帖子

0

粉丝