硬汉嵌入式论坛

 找回密码
 立即注册
查看: 876|回复: 5
收起左侧

[有问必答] STM32F413的全速USB发送数据会丢失,是什么原因?

[复制链接]

11

主题

14

回帖

47

积分

新手上路

积分
47
发表于 2024-7-9 09:54:11 | 显示全部楼层 |阅读模式
最近再用STM32F413的FS USB发送数据,驱动是用的CUBEMUX 生成的驱动代码,但是发送数据量大的时候会丢失数据,分包发送也会丢,调试发现USB一直返回busy,一直在被占用,因为数据发送是按帧发送,每帧之间有时间限制,现在考虑是不是一帧的数据量太大了,导致两帧之间的时间太短,来不及发送,导致丢失数据?一帧的数据大概是500K
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2024-7-9 17:33:52 | 显示全部楼层
用的什么方式,CDC还是HID,是不是速度慢点是正常的。可以考虑做个简单的握手控制。
回复

使用道具 举报

11

主题

14

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2024-7-9 17:53:02 | 显示全部楼层
使用的CDC,数据量小点不会有什么问题,数据量大了就开始丢了,会有多的数据在一帧的结尾部分,再下一帧的数据就是对的了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2024-7-9 18:05:16 | 显示全部楼层
chaung11 发表于 2024-7-9 17:53
使用的CDC,数据量小点不会有什么问题,数据量大了就开始丢了,会有多的数据在一帧的结尾部分,再下一帧的 ...

简单做个握手应答,应该是可以解决的,你试试
回复

使用道具 举报

11

主题

14

回帖

47

积分

新手上路

积分
47
 楼主| 发表于 2024-7-9 20:52:20 | 显示全部楼层
好的,感谢硬汉哥解答
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 6 天前 | 显示全部楼层
chaung11 发表于 2024-7-9 20:52
好的,感谢硬汉哥解答

楼主找到原因了吗?我发超过30000字节就会丢失数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-9 19:35 , Processed in 0.244095 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表