2017-10-16 63 views
0

我想在那裏我ConnectArduino打電話recv創建使用類,但是我收到以下錯誤:爲什麼PySerial對象給出無端口錯誤?

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() 
+0

嘗試使用'__init__'而不是'__init ___' –

回答

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___額外_這樣的事情不要按預期工作。

+0

他也應該修改'g_port'和'g_baudrate'變量,在變化之後這些變量被稱爲'port'和'baudrate',它會像預測的那樣工作 – GEPD

相關問題