1. 程式人生 > >【Python】簡單的串列埠收發資料

【Python】簡單的串列埠收發資料

實現效果:
Python端執行的時候開啟COM3,然後準備從鍵盤獲取資料,併發送,同時接收串列埠除錯助手COM1傳送過來的資料

Python端:

這裡寫圖片描述

串列埠除錯助手:
這裡寫圖片描述
串列埠除錯助手使用COM1,能顯示Python端發過來的資料,當點擊發送的時候,Python端暫時不會顯示,因為Python端的讀取鍵盤那個方法是堵塞的,當Python端傳送的時候才同時把資料顯示出來(如果想一發送就顯示,就把讀取鍵盤的那句程式碼註釋掉就可以了):

由於我不是很專業,所以我儘量用我自己理解的語言講解,可以跟我一起操作。

一、前期準備工作。
1、安裝pyserial(類似於java的庫,用於調串列埠函式)
2、安裝VSPD(因為沒有硬體,用這個虛擬串列埠)

1、由於我用的是win7 64位,無法安裝pyserial-2.7.win32.exe,所以參考了
http://blog.csdn.net/xin_yu_xin/article/details/36933705
的辦法,安裝原始碼,簡單介紹一下,
(1)將你電腦安裝的Python程式目錄放入系統的path路徑
開始選單->右鍵計算機->屬性->高階->環境變數->系統變數
在系統變數裡找到PATH,雙擊PATH,在結尾加上 “;D:\Python27”(D:\Python27是你的Python安裝目錄,不要引號)
(2)解壓下載的原始檔
點選https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794506184df83ef2290de0d18803dd11下載,然後隨便解壓到某個目錄下,在這個目錄下按shift+右鍵空白處可以直接調出cmd,然後在命令列輸入
python

setup.py install

2、VSPD在西西下載就好了,百度一下什麼都有,安裝也不麻煩,不贅述。

二、軟體操作
VSPD上把COM1和COM3的TXRX互相短接起來,具體操作就是在右邊選擇First port是COM1,Second port是COM3,順序無所謂,然後點選Add pair就可以了,然後左邊會顯示出來,要刪除的話選中COM,點右邊下面那個刪除(一般是這個串列埠被卡住了才這麼幹)。
這裡寫圖片描述

三、程式碼
Python的程式碼基本上我也是百度來的,由於很簡單,就像我們溝通思路一樣,直接就寫出來了,所以隨便找個目錄,右鍵新建文字文件,改名為xxx.py,然後儲存退出,右鍵這個檔案,Edit with IDLE(如果沒有就去Python官網下載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 = raw_input("請輸入要傳送的資料(非中文)並同時接收資料: ")
    ser.write((str+'\n').encode())
    print(ser.readline())#可以接收中文
    
ser.close()  

按F5執行即可