2017-05-18 64 views
0

我有Python 3.6.1和PySerial安裝。我正在嘗試如何使用PySerial從COM端口讀寫?

我能夠得到連接的comports的列表。我現在希望能夠將數據發送到COM端口並接收回應。我怎樣才能做到這一點?我不確定接下來要嘗試的命令。

代碼:

import serial.tools.list_ports as port_list 
ports = list(port_list.comports()) 
for p in ports: 
    print (p) 

輸出

COM7 - 多產USB到串行通信端口(COM7)

COM1 - 通訊端口(COM)

我從PySerial Documentation看到,打開一個COM端口的方法是如下:

進口串行

>>> ser = serial.Serial('/dev/ttyUSB0') # open serial port 

>>> print(ser.name)   # check which port was really used 

>>> ser.write(b'hello')  # write a string 

>>> ser.close()    # close port 

我在Windows上運行和我得到以下行的錯誤:

SER = serial.Serial( '的/ dev/ttyUSB0')​​

這是因爲 '的/ dev/ttyUSB0' 使在Windows沒有意義的。我可以在Windows中做什麼?

+0

是的,我很傻。應該研究一下。如果你回答,我可以將你的標記作爲答案。 –

+0

當你至少試過它時,可以尋求這樣的幫助:) – pointerless

+0

你能否保留那些與之前共享的鏈接? –

回答

0

This可能是你想要的。我會看看寫作文檔。 在Windows中使用COM1和COM2等沒有/ dev/tty /因爲這是基於Unix系統。要讀取只是使用s.read()等待數據,寫入使用s.write()。

s = Serial.Serial('COM7') 
in = s.read() 
print(in) 

您可能需要解碼以獲取整數值,如果這就是發送什麼。