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

时间:2016-01-27 23:33:17

标签: windows python-2.7 serial-port pyserial access-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

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

SerialException: could not open port 'COM1': WindowsError(5, 'Access is denied.')

如何使用我的代码断开串口,我可以使用新的Connect实例重新连接到它?

0 个答案:

没有答案