小编asp*_*lua的帖子

在SerialException"Access is Denied"重新连接后释放串口

我有一个简单的类Connect,它在实例化时创建一个串行连接.

import serial
import serial.tools.list_ports_windows as list_ports

class Connect:
    def __init__(self):
        connect(self)

    def connect(self):
        self.ser = serial.Serial(port='COM1')

    def disconnect(self):
        self.ser.close()

    def __del__(self):
        self.disconnect()
        del self.ser
Run Code Online (Sandbox Code Playgroud)

如果我创建了这个类的实例,然后以这样的方式销毁我的实例,即disconnect()和del()方法都不运行,那么端口仍将被绑定.因此,如果我再次尝试连接,则会出现以下异常:

SerialException: could not open port 'COM1': WindowsError(5, 'Access is denied.')
Run Code Online (Sandbox Code Playgroud)

我可以用我的代码断开串口,所以我可以用一个新的Connect实例重新连接它?

windows serial-port access-denied pyserial python-2.7

5
推荐指数
0
解决办法
234
查看次数