Python串口通信的方法通常使用PySerial庫來實現(xiàn)。
首先,需要安裝PySerial庫??梢允褂靡韵旅钸M行安裝:
pip install pyserial
然后,在Python代碼中引入PySerial庫:
import serial
接下來,可以使用serial.Serial()
函數(shù)來創(chuàng)建一個串口對象,設(shè)置串口的端口號、波特率等參數(shù)。例如:
ser = serial.Serial(
port='/dev/ttyUSB0', # 串口端口號
baudrate=9600, # 波特率
parity=serial.PARITY_NONE, # 校驗位
stopbits=serial.STOPBITS_ONE, # 停止位
bytesize=serial.EIGHTBITS # 數(shù)據(jù)位
)
可以使用ser.write()
方法向串口發(fā)送數(shù)據(jù),例如:
ser.write(b'Hello!') # 發(fā)送字節(jié)數(shù)據(jù)
可以使用ser.read()
方法從串口讀取數(shù)據(jù),例如:
data = ser.read(10) # 讀取10個字節(jié)的數(shù)據(jù)
print(data)
需要注意的是,串口通信中發(fā)送和接收的數(shù)據(jù)類型為字節(jié)類型(bytes
)。在發(fā)送數(shù)據(jù)時,需要使用b
前綴表示字節(jié)數(shù)據(jù),如b'Hello!'
。而在接收數(shù)據(jù)時,返回的數(shù)據(jù)也是字節(jié)類型,可以使用decode()
方法將其轉(zhuǎn)換為字符串類型。
在使用完串口后,需要關(guān)閉串口連接,可以使用ser.close()
方法來關(guān)閉串口:
ser.close()
以上就是基本的Python串口通信的方法。根據(jù)具體的需求,還可以使用其他方法來處理串口數(shù)據(jù),如設(shè)置超時時間、使用串口事件回調(diào)等。具體的使用方法可以參考PySerial庫的官方文檔。