1. 程式人生 > 程式設計 >Python 實現Serial 與STM32J進行串列埠通訊

Python 實現Serial 與STM32J進行串列埠通訊

Python果然是一款非常簡明的語言,做東西非常流暢,今天又嘗試了一下用Serial做了一個控制檯的串列埠通訊,我用的下位機是STM32F103,搞了一個多小時就成功了,可見Python的能力之強。

說明幾點注意,一是Python在windows下的串列埠號可以用COM來標註,此時序號從1開始,如果自己單獨指定序號,則是從0開始。

另外,如果下位機串列埠通訊設定的非常簡單的話,在Python中只需要設定好串列埠號和波特率即可,其餘的均設為預設值。一般來說在微控制器或者是嵌入式系統中的串列埠通訊基本都不需要設定其餘的東西,最多還需要設定一個停止位的位數或者是一幀資料多少位,一般都設定為1位和8位,這也都是Python預設好的。

讀取字串需要注意,向串列埠傳送一個字串,隨後在讀回並在PC機上顯示出來,需要在傳送時就要記錄字串長度,否則會阻塞,串列埠通訊將會失敗。反正我是失敗了很多次。

__author__ = 'freedom'
 
import serial
port = 0
ser = serial.Serial()
ser.setPort(port)
print ser.portstr
baudrate = 115200
ser.setBaudrate(baudrate)
ser.open()
print ser.isOpen()
print ser
while(1):
  datainput = raw_input("Please input the character:\n")
  n = ser.write(datainput)
  data = ser.read(n)
  print data

以上這篇Python 實現Serial 與STM32J進行串列埠通訊就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。