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

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

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

举报

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

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

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

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

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

上位机是在电脑运行的吗?电脑速度那么快还有处理不了的?速度快的话肯定是收到一个就可以处理了。如果不行,就收到一批数据后处理+定时处理。也可以空闲检测,检测到没有更多数据过来了再处理。
12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版