最近開發一個項目需要使用python進行串口的數據發送和接收,在查詢資料和實際測試後終於找到一個比較好用的串口通信代碼,如下:
# -*- coding: utf-8 -*-
import serial
#打開串口
serialPort="COM3" #串口號
baudRate=9600 #波特率
ser=serial.Serial(serialPort,baudRate,timeout=0.5)
print("參數設置:串口=%s ,波特率=%d"%(serialPort,baudRate))#輸出串口號和波特率
#收發數據
while 1:
str = input("請輸入要發送的數據(非中文)並同時接收數據: ")
ser.write((str+'\n').encode())
print(ser.readline())#可以接收中文
ser.close()
串口通信調試雙方爲:python端和串口通信助手
爲能夠在一臺電腦上測試串口通信,我們需要藉助VSPD這個軟件。藉助VSPD這個軟件將電腦上COM3和COM4的 TX 和 RX相互短接起來,具體操作是在右邊:
First port選擇COM3
Second port選擇COM4
其實First port和 Second port的順序並不重要,顛倒順序也是可以的。選擇完畢後點擊Add pair即可實現COM3 和 COM4間的通信,並且建立通信的串口會在左側Virtual ports顯示出來。如果需要刪除選中的COM口,選中後點擊右邊下面的Delete pair即可。
在建立COM3和COM4之間的通訊聯繫後,分別使用串口調試助手和python代碼打開COM4和COM3進行串口的通信,具體操作如下:
串口通信測試結果如下: