我在Windows上看到了一些关于我的Com缓冲区的一些奇怪的行为。

我使用带有FTDI芯片的3个USB串行转换器。我用CreateFile打开com端口,一切正常。除波特率外,所有3个端口都具有相同的配置。2在38400和9600工作。

这是奇数部分:

我能够成功写出9600端口和38400个端口之一。第二个38400端口似乎缓冲了数据。我已经用HyperTerminal连接了这个端口,看看在工作端口上,我立即得到一个响应和“奇怪的”端口,我只在关闭我的应用程序时获取数据...

还有其他人经历过吗?你是怎么解决这个的?

有帮助吗?

解决方案

这是黑暗中的镜头......但是。

检查“奇怪”连接两端的流量控制设置。当流量控制不匹配时,我已经看到这样的奇怪事情。关闭端口的行为清除位并允许缓冲数据流。

其他提示

使用FTDI芯片工作了一点,我建议您查看每个端口的高级驱动程序设置。驱动程序支持缓冲和延迟控制,以便您允许您在高吞吐量和低延迟之间损害。所以检查工作和使用不相同的设置并使用相同的设置)。

在侧面笔记中,通过使用ftdi:s自己的 API 您不必跟踪COM端口重新分配等。API与普通的Win32相似,但公开了更多配置选项。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top