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

ST USB CDC收发问题

[复制链接]
uwyciw100 提问时间:2019-5-28 17:20 /
在使用HAL库做虚拟串口时,没有找到CDC接口中,关于数据传输完成的标志,只发现USBD_CDC_TransmitPacket和USBD_CDC_ReceivePacket两个函数。请问各位有发现传输完成函数吗?
收藏 评论5 发布时间:2019-5-28 17:20

举报

5个回答
STMWoodData 回答时间:2019-5-29 11:42:17
提示: 作者被禁止或删除 内容自动屏蔽
uwyciw100 回答时间:2019-5-30 14:00:41
流水源 发表于 2019-5-29 11:42
这个在USB传输完成里面找下。可以在USBD_CDC.C的USBD_CDC_DataIn和USBD_CDC_DataOut函数中解析。或者查询标 ...

这几个函数都是端点单次传输完成的相关操作,当数据长度大于64字节,似乎就没法用了。
edmundlee 回答时间:2019-5-30 14:07:22
HAL没用过, 旧的STD库, 我是这样做的

usb_end.c
void EP1_IN_Callback (void)
{
        xSemaphoreGiveFromISR(Sema_EVCP,0);   // <<---------------
        packet_sent = 1;
}

评分

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

查看全部评分

STMWoodData 回答时间:2019-5-30 14:38:00
提示: 作者被禁止或删除 内容自动屏蔽
uwyciw100 回答时间:2019-5-30 15:02:33
流水源 发表于 2019-5-30 14:38
你可以在这里查询所有数据是否发送接收完啊

每个端点有一个xfer_count和xfer_len参数。确实能确定数据是否发送完成,只是要改一下库。看来CDC这个类的接口还是得再丰富下。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版