0

我正在使用 pyserial 将我的 python 代码与 arduino 连接起来。当我运行我的 python 代码时,我不断收到这个错误:

File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 66, in open
    raise SerialException("could not open port %r: %r" % (self.portstr, ctypes.WinError()))
SerialException: could not open port 'COM3': WindowsError(5, 'Access is denied.')

这是我的代码:

import serial
port = 2
class arduino:

    def __init__(self):
        self.ser = serial.Serial(port, 9600)
        self.port = port

    def read(self):

        x = self.ser.read(100)
        self.ser.flush()
        return x

    def close(self):

        ser.close()


glove = arduino()
print(glove.read())
glove.close()

我的 arduino 连接到 COM3,并且 arduino IDE 已关闭,因此该错误绝对不是由 arduino 串行接口干扰引起的。我是管理员,所以我认为问题不在于我没有管理权限。

任何想法可能是什么问题?

谢谢,

德鲁夫

4

1 回答 1

0

你不见了open()

添加此方法,并在阅读之前使用它:

def OpenPort(self):

    try:
        self.sSerial.open()
    except SerialException, e:
        raise e

在读取串行端口的输入 Q 之后,您不需要再做一件事self.ser.flush(),因为在读取命令之后它是空的。

于 2013-11-07T16:17:08.837 回答