0

我从 Windows 中看到一些关于我的 COM 缓冲区的非常奇怪的行为。

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

这是奇怪的部分:

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

有没有其他人经历过这个?你是如何解决这个问题的?

4

2 回答 2

0

这有点像在黑暗中拍摄……但是。

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

于 2011-05-13T13:00:53.723 回答
0

在使用过 FTDI 芯片后,我建议您查看每个端口的高级驱动程序设置。该驱动程序支持缓冲和延迟控制,以便您在高吞吐量和低延迟之间进行折衷。因此,请检查有效的设置并为无效的设置使用相同的设置(如果它们不相同)。

附带说明一下,通过使用 FTDI:s 自己的API,您不必跟踪 COM 端口重新分配等。该 API 与普通的 Win32 API 非常相似,但提供了更多配置选项。

于 2011-05-15T19:52:38.560 回答