chunk753 发表于 2020-8-13 09:34:14

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

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

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
刚发现,特来告知
刚才发现,不是数据收不到,只是收到了处理不了,我现在得想想怎么能把这大数据处理了
...

上位机是在电脑运行的吗?电脑速度那么快还有处理不了的?速度快的话肯定是收到一个就可以处理了。如果不行,就收到一批数据后处理+定时处理。也可以空闲检测,检测到没有更多数据过来了再处理。
页: [1] 2
查看完整版本: USBCDC发数据,串口助手可以接收但是太多太快导致未响应