为什么PySerial对象会出现无端口错误?

时间:2017-10-16 20:10:30

标签: python python-3.x pyserial

我正在尝试创建一个我在recv中调用ConnectArduino的类,但是我收到以下错误:

AttributeError: 'ConnectArduino' object has no attribute 'port'

有人可以告诉我哪里出错了吗?

class ConnectArduino:
    def __init___(self, port, baudrate):
        # if len(sys.argv) == 3:
        print('# Using port: ' + g_port + " and baudrate" + str(g_baudrate))
        self.port = serial.Serial(port=g_port, baudrate=g_baudrate)

    def open(self):
        self.port.open()

    def close(self):
        self.port.close()

    def send(self, msg):
        self.port.write(msg)

    def recv(self):
        return self.port.readline

def main():
    ConnectArduino().recv()

if __name__ == "__main__":
    main()

1 个答案:

答案 0 :(得分:1)

您尝试使用两个参数定义构造函数

def __init___(self, port, baudrate):
    # if len(sys.argv) == 3:'
    print('# Using port: ' + g_port + " and baudrate" + str(g_baudrate))
    self.port = serial.Serial(port=g_port, baudrate=g_baudrate)

所以

ConnectArduino().recv()
除非_中有额外的__init___,否则

应该不起作用,因此事情无法正常工作。