我正在高速(3,686,400 b/秒)从 COM 端口读取数据。为了实现这一点,我必须读取 512 字节的块并显着增加我的超时时间(到 1000),这样即使我正在同步读取,我每次都会得到一个完整的块而不是它的一部分。
问题:经过几分钟的运行和绘制结果就好了,我得到了损坏的信息。这意味着我仍然没有按照我想要的速度获得信息,但是明显延迟了。
当我在软件上加载更多内容时尤其会发生这种情况,例如运行将数据写入文件的记录线程。生成的文件比预期的要短得多,即使没有损坏(就像我得到传输数据的开头而不是全部)。
我知道它不是发送设备,因为重新加载 PC 应用程序,而设备仍然发送数据重新初始化整个事情。
如果重要的话,我使用的是 Windows 7,英特尔酷睿 i3,64 位。在 CVI 中编写 C 代码。使用 Windows API 读取 COM 端口。
有什么建议么?
谢谢