我使用usb进行通信,我们的设备发送100k/s的数据(arm7,非常小的存储空间),而PC需要接收和处理它们。
我之前的设计是把设备做成一个杂乱的存储设备,并扩展一个通信协议的命令,上位机软件运行一个线程循环获取数据。
问题是:有时它会丢失数据。
因此,我们使用另一种解决方案: usb sim (Rs232)。
但在我使用MFC(或pyserial)获取数据之前,我不知道OS是否可以包含那么多数据,我如何获取/设置缓冲区大小?
发布于 2010-09-15 15:32:31
我们通过我们的USB CDC实现定期打孔大约100KByte/sec,PC的速度足以接收所有数据。但似乎usb串行(CDC)的内置限制比大容量存储协议(在我们的例子中为大约600kb/s与大约100kb/s的CDC)更低。
PC接收线程应该有一个“足够大”的缓冲区。
编辑:我不知道Windows的缓冲区大小,也不知道如何获取它们。
https://stackoverflow.com/questions/3697427
复制相似问题