python3.7 serial.serialutil.SerialException: ClearCommError failed (OSError(9, 句柄无效。, None, 6))

 python3.7 连接串口,

用tkinter做的界面,连接com串口后,通过删除连接对象,再执行一次连接时,报错:句柄无效

File "E:\AutoTestStation\GtkAutoMonitorTest\venv\lib\site-packages\serial\serialwin32.py", line 257, in in_waiting
    raise SerialException("ClearCommError failed ({!r})".format(ctypes.WinError()))
serial.serialutil.SerialException: ClearCommError failed (OSError(9, '句柄无效。', None, 6))

原因:1.分析可能是断开连接的时候未清理干净,如果是直接关闭tk窗口再进来 是正常的。如是自己通过代码serial.close()闭关再打开,就会报此错误。??

原因已经找到还是串口关闭之后,

self.port.close()

重复打开的问题。

在执行完下面这句话之后,我又再次执行了打开串口的命令。

if self.port == None:
    self.myserial.open_port(self.com_selected)
    self.port = self.myserial.port
    self.show_message("Open com success.")
    return True
else:
    return False

2. 在关闭串口之前,还有线程在使用串口的对象进行读取操作,如果有开线程,在线程里直接做关闭动作,防止读取出错。

你可能感兴趣的:(python)