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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版