1. 程式人生 > >基於LabVIEW和Python的USB串口數據傳輸

基於LabVIEW和Python的USB串口數據傳輸

傳輸 表示 串口編程 一個 信息 發現 實現 上位機 功能

1.目的是想通過上位機LabVIEW編程,實現通過USB串口傳輸至樹莓派,樹莓派接收到數據後顯示,並把收到的數據返還給上位機。

2.樹莓派USB串口編程:

(1)在網上借閱有關樹莓派USB通信,就會發現,Python有自帶的Pyserial模塊,可以進行串口設置

安裝指令:pip install Pyserial

(2)查看USB串口端情況,在接入一跟USB數據線後,樹莓派會刷新顯示:

查找指令:lsusb

技術分享

(3)Python編程:
技術分享

1).將串口設置為‘/dev/ttyUSB0, 115200’

2).實現功能是:等待串口數據接收,若有數據,則進行回顯並把數據發送至上位機

3.上位機LabVIEW編程:

(1)功能是實現命令的發送和顯示接收到的數據(下位機發送過來的數據)

技術分享

(2)上圖是LabVIEW串口程序的接收模塊,因為下位機只是將接收到的數據,再反饋給上位機,所以數據中沒有設置字節大小。故采用Bytes at Port函數進行接收判斷,它的原理是只要收到數據(大小≥1),就把數據給VISA R。

采用10ms延時,則是延長接收時間,使接收的數據更完整。否則接收框會清空(接收框沒有設置反饋節點),只顯示最近一次接收的數據。

(3)只要電腦上接入USB線,LabVIEW就會刷新,可以看到“端口選擇”列表中就會多一個端口,就表示此USB線。波特率與樹莓派保持一致為115200。

4.運行程序結果

(1)此圖為最後一次發送數據命令,接收框能收到樹莓派回傳的信息。

技術分享

(2).樹莓派接收到上位機LabVIEW的數據,並實時顯示。

技術分享

基於LabVIEW和Python的USB串口數據傳輸