Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Windows不刷新COM缓冲区_C++_Windows_Serial Port_Virtual Serial Port - Fatal编程技术网

C++ Windows不刷新COM缓冲区

C++ Windows不刷新COM缓冲区,c++,windows,serial-port,virtual-serial-port,C++,Windows,Serial Port,Virtual Serial Port,我在windows上看到一些关于COM缓冲区的奇怪行为 我使用3个USB串行转换器和FTDI芯片。我用CreateFile打开com端口,一切正常。除波特率外,所有3个端口都具有相同的配置。两个在38400工作,一个在9600工作 以下是奇怪的部分: 我能够成功地写出9600端口和38400端口中的一个。第二个38400端口似乎正在缓冲数据。我用Hyperterminal连接到这个端口,看到在工作端口上我立即得到响应,在奇怪的端口上我只在关闭应用程序时得到数据 还有其他人经历过吗?你是如何解决这

我在windows上看到一些关于COM缓冲区的奇怪行为

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

以下是奇怪的部分:

我能够成功地写出9600端口和38400端口中的一个。第二个38400端口似乎正在缓冲数据。我用Hyperterminal连接到这个端口,看到在工作端口上我立即得到响应,在奇怪的端口上我只在关闭应用程序时得到数据


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

这有点像是瞎猜。。。但是


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

在使用FTDI芯片时,我建议您检查每个端口的高级驱动程序设置。驱动程序同时支持缓冲和延迟控制,以便在高吞吐量和低延迟之间折衷。因此,检查有效的设置,如果它们不相同,则对不起作用的设置使用相同的设置


另一方面,通过使用FTDI:s,您不必跟踪COM端口重新分配等情况。该API与普通的Win32 API非常相似,但公开了更多的配置选项。

可能的重复不是重复-问题在于阅读,而不是写作。非常好,但应用程序已经完成。如果我需要改变什么,我可能会用它。谢谢。