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

[复制链接]
 楼主| 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 | 显示全部楼层
看一下有没有等待传输完成再发下一包。
帛灿灿 发表于 2025-5-7 07:36 | 显示全部楼层
我加了个状态标志判断再发,丢包就少了。
童雨竹 发表于 2025-5-7 07:37 | 显示全部楼层
USB缓冲区大小要对齐64字节。
万图 发表于 2025-5-7 07:38 | 显示全部楼层
PC端驱动是什么?Windows有时候会抽风。
Wordsworth 发表于 2025-5-7 07:38 | 显示全部楼层
是不是中断太频繁打断发送了?
 楼主| Bblythe 发表于 2025-5-7 07:39 | 显示全部楼层
你试过先发一个小包试水吗?
Pulitzer 发表于 2025-5-7 07:40 | 显示全部楼层
用逻辑分析仪抓包看一下。
Uriah 发表于 2025-5-7 07:41 | 显示全部楼层
我的串口助手默认不自动接收完整数据。
classroom 发表于 2025-5-7 12:08 | 显示全部楼层
不一定是PC端没收完,原因估计有点复杂。
stormwind123 发表于 2025-5-7 12:10 | 显示全部楼层
可能是数据缓冲区溢出导致的。
elephant00 发表于 2025-5-7 12:13 | 显示全部楼层
将USB通讯的中断优先级提高检查其他中断的优先级设置会不会影响USB通讯。
flycamelaaa 发表于 2025-5-7 13:00 | 显示全部楼层
如果USB通讯的中断优先级设置过低,可能会被其他更高优先级的中断抢占,导致USB中断处理不及时,从而引发数据丢失。
cr315 发表于 2025-5-7 15:09 | 显示全部楼层
固件或库函数可能存在bug。
powerantone 发表于 2025-5-7 16:00 | 显示全部楼层
如果有其他定时器的中断优先级比USB通讯的高,这可能导致定时器中断抢占了CPU资源,使得USB通讯处理不及时。
probedog 发表于 2025-5-7 16:30 | 显示全部楼层
主机发送数据的速率与STM32F0接收数据的速率不匹配,可能会导致数据丢失。
duo点 发表于 2025-5-7 18:09 | 显示全部楼层
建议增加STM32F0的缓冲区容量。
七毛钱 发表于 2025-5-7 18:09 | 显示全部楼层
检查是否有可用的固件或库函数更新。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

5717

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部