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

STM32f103 USB 双缓存发送数据 每次上位机接收多64字节的0

[复制链接]
LELEHEHE-362813 提问时间:2018-6-28 15:34 /
做STM32f103 USB 双缓存的时候, 采取ENP3的TXaddr1和TXaddr0的双缓存ping-pong发送机制,每次上位机接收完4K数据, 4K数据前64个字节全部是0,后面才是上位机要的数据,上位机取数据的时候,舍弃前64字节的0,才能正常使用,不知道这是为什么造成下位机(STM32)发送多64字节的问题
收藏 评论8 发布时间:2018-6-28 15:34

举报

8个回答
随风飘扬 回答时间:2018-6-28 15:52:12
你的意思是上位机实际接收了4K+64字节的数据吗?还是仍然接收到了4k字节数据,只不过前64个是0,实际中就少接收了64字节的应得数据?

评分

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

查看全部评分

anobodykey 回答时间:2018-6-28 20:25:38
cube库吗?这个应该是库的问题,有个文件有问题,PCD_SET_EP_DBUFx_CNT这个定义你可以看下

评分

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

查看全部评分

LELEHEHE-362813 回答时间:2018-6-29 00:25:50
yu0405jie 发表于 2018-6-28 15:52
你的意思是上位机实际接收了4K+64字节的数据吗?还是仍然接收到了4k字节数据,只不过前64个是0,实际中就少 ...

仍然接收到了4k字节数据,只不过前64个是0,实际少了64字节数据
随风飘扬 回答时间:2018-6-29 10:18:40
是挺奇怪的,你确定写入数据时缓冲区的地址和发送的是一致的
LELEHEHE-362813 回答时间:2018-6-29 10:57:39
缓冲区的地址和发送是一致的
LELEHEHE-362813 回答时间:2018-6-29 11:24:37
anobodykey 发表于 2018-6-28 20:25
cube库吗?这个应该是库的问题,有个文件有问题,PCD_SET_EP_DBUFx_CNT这个定义你可以看下 ...

PCD_SET_EP_DBUFx_CNT在哪个文件下
西点钟灵毓秀 回答时间:2018-6-29 12:15:20
用环形缓冲区就可以解决了

评分

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

查看全部评分

anobodykey 回答时间:2018-6-29 23:22:01
LELEHEHE-362813 发表于 2018-6-29 11:24
PCD_SET_EP_DBUFx_CNT在哪个文件下

应该是在pcd.h文件中,你搜索一下

评分

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

查看全部评分

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