python串列埠通訊模組pySerial使用隨筆

2021-07-31 14:04:05 字數 1141 閱讀 2493

最近用到了串列埠通訊,需要將微控制器發上來的資料進行轉換,還需要給微控制器發一些命令,之前沒有用過pyserial這玩意,網上找了一些資料,學習了以下。做個筆記,方便使用。

pyserial模組是python裡面的,所以python環境是必不可少的。

使用pyserial大致步驟如下:

import serial  

ser = serial.serial('/dev/ttyusb0', 19200, timeout=1)  # 例項化串口號、波特率、等待時間  

print ser        # 列印串列埠資訊  

ser.write("hello")       # 列印輸出訊息到串列埠  

ser.read() # 讀取1個位元組

ser.read(10) # 讀取10個位元組

ser.close()              # 關閉串列埠

其他的一些語句:

ser.isopen()                                           # 判斷串列埠是否開啟

關於timeout的引數定義(當程式在串列埠中讀取資料時):

timeout=none            # 永遠等待,直到有資料傳過來(阻塞)  

timeout=0               # 不等待,收不到資料直接退出讀取(非阻塞)  

timeout=x               # 設定等待時間(阻塞,x可以為浮點數)

另外,定時傳送串列埠資料就少不了定時器,python自帶了time做時間處理。

使用time的大致步驟如下:

import time

time.sleep(x) # 阻塞x秒,支援浮點數

python串列埠通訊

然後需要安裝python的serial庫 pip install pyserial在pyserial中設定串列埠的操作為 serial.serial portx,bps,timeout waittime 其中,portx為埠名稱,bps為波特率,timeout為超時時間,以秒為單位,所以操作非常簡單...

python串列埠通訊

1 編碼 def bytes datadict strbody json.dumps datadict 將dict 資料妝化為字串 sendbuf bytearray sendbuf 04x len strbody encode sendbuf strbody.encode 將字串轉化為位元組陣列 ...

藍芽模組配置串列埠通訊

無線串列埠通訊肯定需要兩個藍芽模組,微控制器傳送資料給電腦,連電腦的就需要 usb ttl 模組,藍芽模組與 usb ttl 連線就是 5v 連 5v,gnd 接 gnd rxd 接 txd,txd 接 rxd。配置藍芽模組時需要進入它的 at 模式,就是配置模式。進入at模式的方法 按住藍芽模組上...