一、串口通信簡介
串口按位(bit)發(fā)送和接收字節(jié)。串口通信是指外設和計算機間,通過數(shù)據(jù)信號線 、地線、控制線等,按位進行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)汀?/p>
串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠實現(xiàn)遠距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設備線總長不得超過20米,并且任意兩個設備間的長度不得超過2米;而對于串口而言,長度可達1200米。典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成,分別是地線、發(fā)送、接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進行通信的端口,這些參數(shù)必須匹配。
二、LabVIEW簡介LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機語言的顯著區(qū)別是:其他計算機語言都是采用基于文本的語言產生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產生的程序是框圖的形式。 LabVIEW軟件是NI設計平臺的核心,也是開發(fā)測量或控制系統(tǒng)的理想選擇。
LabVIEW特點
盡可能采用了通用的硬件,各種儀器的差異主要是軟件。
可充分發(fā)揮計算機的能力,有強大的數(shù)據(jù)處理功能,可以創(chuàng)造出功能更強的儀器。
用戶可以根據(jù)自己的需要定義和制造各種儀器
三、Labview實現(xiàn)串口通信步驟1.在程序面板上添加VISA配置接口
2.添加后,開啟幫助文檔的顯示。菜單的Help-》show context help,如下圖
鼠標選擇目標則會顯示幫助框。如下圖所示。
3.創(chuàng)建相應的配置
在程序面板中鼠標移動到對應的引腳上,點擊鼠標右鍵-》create-》control,創(chuàng)建后,界面面板上會出現(xiàn)對應的控制框。如下圖所示,創(chuàng)建個VISA resource name。
前面板顯示如下:
4依次創(chuàng)建,波特率、停止位、數(shù)據(jù)位等
如下圖所示。
5.創(chuàng)建個while循環(huán),用于放置發(fā)送的程序
鼠標移動到循環(huán)條件控制的引腳上,創(chuàng)建個control。用于調試,不對條件處理,會報錯。
6前面板放置個按鈕,用于控制數(shù)據(jù)的發(fā)送
7.創(chuàng)建個事件,用于響應發(fā)送按鈕
鼠標移動到timeout的位置,鼠標右鍵選擇edit events…如下圖所示。
操作上面后,出現(xiàn)如下界面:選擇需要響應的控件,這里選擇“ok button”,選擇鼠標按下
點擊ok后,事件的名稱也變化了。如下圖所示。
如果鼠標點擊按鍵,則會進入事件處理。
8.創(chuàng)建VISA寫函數(shù)
9連接端口和寫函數(shù)
10添加個關閉函數(shù)
11.創(chuàng)建字符串控件,傳遞給寫函數(shù),用于發(fā)送
選中VISA Write的write buffer,右鍵create-》control,
12界面如下所示
13.安裝虛擬串口,提供一個下載地址
用虛擬串口配置兩個端口,配置好后,這兩個串口之間是自動連接上,模擬硬件上兩個串口對接上的。
14運行串口工具
15.運行串口工具,打開串口,運行VI,發(fā)送數(shù)據(jù)
我的電腦配置的是COM12和COM13,vi選擇COM12
運行VI,在write buffer里面填寫test,點擊OK發(fā)送。
每點擊一次,發(fā)送一次
16.建立接收模塊
添加個while循環(huán),
創(chuàng)建while循環(huán),用于接收。創(chuàng)建VISA Read,在Read buffer引腳上點擊鼠標右鍵create-》indicator,建立個顯示控件。
17 在VISA Enable Event的event type,創(chuàng)建個常量
然后在常量的下拉列表中選擇Serial Character。這個表示串口接收到數(shù)據(jù),可以進入幫助文檔查看詳細的說明。
18.創(chuàng)建事件等待
19.連接事件,等待事件的類型直接連接在VISA Enable Event的Event type即可。
20.添加個屬性節(jié)點,Visa Bytes at serial port,獲取串口中的字節(jié)數(shù)
連接字節(jié)數(shù),這樣告訴需要讀取的字節(jié)數(shù)。也能保證每次都把串口中的數(shù)據(jù)讀完。