你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

做STM32f103 USB 双缓存的时候,发送4K数据里面前64字节是0

[复制链接]
LELEHEHE-362813 提问时间:2018-6-29 00:28 /


做STM32f103 USB 双缓存的时候, 采取ENP3的TXaddr1和TXaddr0的双缓存ping-pong发送机制,每次上位机接收完4K数据, 4K数据前64个字节全部是0,后面才是上位机要的数据,上位机取数据的时候,舍弃前64字节的0,才能正常使用,不知道这是为什么造成下位机(STM32)发送多64字节的问题

收藏 1 评论4 发布时间:2018-6-29 00:28

举报

4个回答
馒头弟 回答时间:2018-7-2 15:42:03
看来签到帖没配链接,大家都懒得搜啊。。。
你做CDC吗?

点评

哎呀,可能失误了  发表于 2018-7-16 16:00

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

zhdzhd 回答时间:2018-7-2 18:11:10
USB的Bulk传输有两种方式认为数据传输完成
1. 发送的数据小于MaxPacketSize,这里MaxPacketSize是64
2. 发送的数据刚好等于请求的数据。即Windows中ReadFile()的size参数

如果发送的包全为64,则驱动认为接下来还有数据,会继续去读取USB的Bulk Endpoint,所以你感觉上收不到数据

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版