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

导读:本篇文章讲解 python3.7 serial.serialutil.SerialException: ClearCommError failed (OSError(9, 句柄无效。, None, 6)),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/101678.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!