1

我正在编写一个使用 com0com 虚拟串行端口的 Python (2.6) 应用程序。它在 Windows Server 2008 R2 (sp1) 上运行(我在我的开发机器 Win 7 上也看到了同样的问题)。

com0com 端口对是在应用程序运行之前创建的。该应用程序打开端口(通过创建 serial.Serial 对象),使用它们然后关闭它们。

尝试过早重用该端口会失败 - 调用构造函数很好(也就是说,它返回一个打开的 serial.Serial 对象),但该对象似乎无法使用。由于其他应用程序正在使用这些对象,因此应用程序可能没有正确释放某些内容。

是否有一个已知的间隔我应该等待重新使用 com0com 端口?会不会是 com0com 端口以某种方式设置错误?或者是其他东西?

伪代码超高级代码概览:

loop:
    serialPort = serial.Serial(port=COM90)
    subprocess.check_call([blah.exe, "COM90"])
    # this check_call succeeds on first iteration
    # fails on second iteration, but will succeed subsequently ...
    serialPort.close()
    # pause before reusing COM90
4

0 回答 0