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

USBCDC发数据,串口助手可以接收但是太多太快导致未响应

[复制链接]
谁是谁的s 提问时间:2020-8-13 09:34 /
最近在做USB CDC虚拟串口的通信问题,驱动成功了,串口识别了,但是串口助手接收数据时会未响应,这样肯定是不行的。
我的程序就是从STM32CUBE上弄下来,然后用USB_CDC_FS发送数据,函数特别简单。
我想知道这种情况我应该是找代码的问题,还是找上位机的问题,如过有人遇到过,有解决办法那就先谢过了!
收藏 评论10 发布时间:2020-8-13 09:34

举报

10个回答
谁是谁的s 回答时间:2020-8-13 11:24:41
写错了,是CDC_Transmit_FS函数
李康1202 回答时间:2020-8-13 11:28:36
堆栈改大一点试一试
谁是谁的s 回答时间:2020-8-13 11:40:32
likang1202 发表于 2020-8-13 11:28
堆栈改大一点试一试

不是堆栈的问题,不管怎么改,结果都一样,有没有可能是上位机接收不了这么快的速率,毕竟未响应的是上位机,我现在特别需要确定到底是谁的问题
疯de_恒 回答时间:2020-8-13 11:43:06
难道上位机是采用死等的方式?按道理上位机速度是很快的。
谁是谁的s 回答时间:2020-8-13 11:49:29
す疯Ⅱ恒す 发表于 2020-8-13 11:43
难道上位机是采用死等的方式?按道理上位机速度是很快的。

我用的是QT写的上位机,仔细看来一下代码,应该是死等,当串口有数据,接收信号,然后读取数据。
但是这个影响吗?毕竟我一直在发送数据,难道是上位机的缓存区不够用?
疯de_恒 回答时间:2020-8-13 13:51:34
chunk753 发表于 2020-8-13 11:49
我用的是QT写的上位机,仔细看来一下代码,应该是死等,当串口有数据,接收信号,然后读取数据。
但是这 ...

串口的数据是比较慢的。一直死等的话肯定不行,一直不释放CPU,操作系统认为这个上位机进程卡住了。可以试试中断的方式或者其他不需要死等的方式。
谁是谁的s 回答时间:2020-8-13 15:19:49
STM32 做全速usb最快速度是多少?
谁是谁的s 回答时间:2020-8-13 15:44:12
す疯Ⅱ恒す 发表于 2020-8-13 11:43
难道上位机是采用死等的方式?按道理上位机速度是很快的。

刚发现,特来告知
刚才发现,不是数据收不到,只是收到了处理不了,我现在得想想怎么能把这大数据处理了
您要是知道得话谢谢告我一下
疯de_恒 回答时间:2020-8-13 16:46:57
chunk753 发表于 2020-8-13 15:44
刚发现,特来告知
刚才发现,不是数据收不到,只是收到了处理不了,我现在得想想怎么能把这大数据处理了
...

上位机是在电脑运行的吗?电脑速度那么快还有处理不了的?速度快的话肯定是收到一个就可以处理了。如果不行,就收到一批数据后处理+定时处理。也可以空闲检测,检测到没有更多数据过来了再处理。
谁是谁的s 回答时间:2020-8-13 17:59:16
す疯Ⅱ恒す 发表于 2020-8-13 16:46
上位机是在电脑运行的吗?电脑速度那么快还有处理不了的?速度快的话肯定是收到一个就可以处理了。如果不 ...

之前有一句打印在上位机上,可能是涉及到界面了?  去掉就可以用了
具体原因未知
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版