串口通信實驗(轉發)

1.安裝VISA驅動
VISA驅動不含在軟件包中,必須要自己去下載。

VISA(Virtual Instrument Software
Architecture,簡稱爲"Visa"),即虛擬儀器軟件結構,是VXI
plug&play聯盟制定的I/O接口軟件標準及其規範的總稱。VISA提供用於儀器編程的標準I/O函數庫,稱爲VISA庫。VISA函數庫駐留在計算機系統內,是計算機與儀器的標準軟件通信接口,計算機通過它來控制儀器

驅動下載地址
http://www.ni.com/downloads/zhs/

在下載以及安裝完成後,可以點開NI MAX

如果安裝成功就可以看到COM口了。

然後點擊右鍵,選擇儀器I/O,就可以看到本次我們要使用的4個VISA控件了。

使用快捷鍵ctrl+h可以打開即時幫助,在即時幫助中我們可以看到關於該控件的說明。其中還有詳細幫助信息,十分方便我們的開發應用。

2.放置控件
這是一個簡單的收發程序,程序的主體主要由上面提到的控件組成。

就是先配置串口,然後再到寫入,然後在讀取。完成這些操作後就把串口關閉。

3.VISA配置串口
接下來我們要對串口進行配置。
一般來說,配置的主要內容有:

visa資源名稱。
波特率
數據比特
奇偶校驗:檢驗代碼1的個數
流控制
接下來我一一介紹他們的配置方法。

1)VISA資源名稱

這個可以在接線端上點擊右鍵或者創建一個輸入控件。
用於選擇和下位機通訊的端口號。

2)波特率
和visa資源名稱一樣,也可以選擇創建輸入控件和常量。這兩項值都要和下位機相對應。
一般多爲9600,115200也可以自定義。
在這裏我選用9600.

3)數據比特
數據比特是輸入數據的位數。
右鍵點擊創建輸入控件。

4)奇偶校驗
監測收到信息的1的個數,用於校驗。
右鍵點擊創建輸入控件。

5)流控制
因爲上位機的處理速度和下位機的處理速度快慢不一致。可能導致一方數據還未來的及處理,另一方又繼續發送,導致數據的丟失。
右鍵點擊創建輸入控件。
labview中可以使用硬件流控制和軟件流控制。

軟件流控制

XON/XOFF(繼續/停止)是異步串行連接的計算機和其他元件之間的數據流控制協議。當接收端的輸入緩衝區內數據量超過設定的高位時,就向數據發送端發出XOFF字符,發送端收到XOFF字符後就立即停止發送數據;當接收端的輸入緩衝區內數據量低於設定的低位時,就向數據發送端發出XON字符,發送端收到XON字符後就立即開始發送數據。

硬件流控制

硬件流控制常用的有RTS/CTS流控制,收發雙方都有各自的RTS和CTS,如通信雙方A,B。那麼A的RTS就與B的CTS相連,A的CTS就與B的RTS相連。RTS的作用是告訴對方我可以接受數據,是輸出口;CTS的作用是根據電平高低控制發送或不發生數。

6)停止位
用於表示單個包的最後一位。典型的值爲1,1.5和2位。由於數據是在傳輸線上定時的,並且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鐘同步的機會。適用於停止位的位數越多,不同時鐘同步的容忍程度越大,但是數據傳輸率同時也越慢。

7)啓動終止符與終止符

“終止符”的默認值爲10,它的十六進制是“0x0A”,這是一個 ASCII碼,是一個換行符。
啓動終止符。默認值是true,當收到終止符是就停止接收。一般不需要終止符時要設置其爲false

8)超時
如果不設置超時,或者超時無限大,程序就一直在等 VISA 讀取,會佔用整個cpu。
如果設置了超時,等待超時時間到了,程序就不執行了,錯誤輸出會輸出錯誤。
所以一般解決的時就在循環中加入延時,防止一直佔用導致程序出現無法運行。

9)簇類
在完成控件放置後,我們可以將所需要的配置控件都放在同一簇類中。使程序更加美觀。

在前面板中選擇簇類,將控件放入。

放入後

程序框圖

10)配置串口控件底層

這個串口配置函數不是底層vi,通過雙擊配置串口可以打開配置串口底層的vi。可以看出配置串口程序是一個屬性節點!

屬性節點:
獲取(讀取)和/或設置(寫入)引用的屬性。 通過屬性節點對本地或遠程應用程序實例、VI或對象獲取或設置屬性和方法 也可通過屬性節點訪問LabVIEW類的私有數據。

4.寫入串口
在串口配置完成後,接下來要做的就是寫入串口。串口配置就好像是門的鑰匙,開門後就該進去了。

創建一個用於發送的循環

使用一個事件結構加一個按鈕作爲發送

再加上一個發送數據的窗口
5.讀取操作
在完成寫的操作後,就開始進行讀的操作配置。

這裏最好加入一個反饋節點,以防止一些發送過來的數據讀取不到。

前面加入一個反饋節點,用於讀取發送過來的數據的位數。可以用於校驗

6.完成
後面加入一些循環結構等就完成整個串口的簡單收發。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章