LABVIEW的通訊問(wèn)題
解答: 串口通訊架構(gòu)
每一個(gè)異步串行系統(tǒng)的核心都是一個(gè)UART(通用異步接收機(jī)/發(fā)送機(jī))。UART不僅控制傳輸?shù)臄?shù)據(jù),相應(yīng)的電平,同時(shí)也控制通訊的速度。UART能夠存儲(chǔ)足夠的信息,所以保證了在電腦忙得時(shí)候,數(shù)據(jù)流也能連續(xù)傳輸。這對(duì)于同時(shí)處理大量任務(wù)的操作系統(tǒng)非常有幫助。下面附圖是理想串行通訊的示意。我們大部分的串行卡都有一個(gè)輸入輸出的FIFO(查看目錄了解詳細(xì)信息)。FIFO的數(shù)據(jù)可以通過(guò)串行驅(qū)動(dòng)獲取。串行驅(qū)動(dòng)會(huì)自動(dòng)地把FIFO的數(shù)據(jù)傳輸?shù)杰浖木彺?,這個(gè)緩存是可以在應(yīng)用軟件由用戶配置的(比如,在LabVIEW您可以使用Serial Port Init VI來(lái)設(shè)置緩存去大?。?。讀接口的數(shù)據(jù)實(shí)際上包含從軟件緩存讀的過(guò)程。確認(rèn)硬件操作的回路測(cè)試有三種方式確認(rèn)串口的操作:LabVIEW,超級(jí)終端和LabWindows/CVI。這三種方式進(jìn)行回路測(cè)試是把串口的發(fā)送和接受引腳短接。第一步描述短接引腳的過(guò)程。LabVIEW的處理寫(xiě)在下面,而超級(jí)終端和LabWindows/CVI的過(guò)程在本文后面的鏈接里。對(duì)于LabVIEW建議使用如下步驟:
a,連接一根電纜到串口。最常用的RS-232電纜是9針或者25針(DB-9或者DB-25)。在電纜端把2、3引腳短接。這會(huì)把計(jì)算機(jī)發(fā)送數(shù)據(jù)的線連接到接收數(shù)據(jù)的線。一旦短接,BD-9的上一排變成【1 2=3 4 5】。
對(duì)于RS-485端口,電壓是差分的。因此,你必須短接TXD+和RXD+、TXD-和RXD-(對(duì)于DB-9電纜,連接pin4到pin8和pin5到pin9;對(duì)于模塊化接口,連接pin2到pin6和pin3到pin7;對(duì)于Combicon接頭,連接pin1到pin5和pin2到pin4。)確保你的軟件配置為4線模式
二、使用說(shuō)明
在LabVIEW環(huán)境中使用串口與在其它開(kāi)發(fā)環(huán)境中開(kāi)發(fā)過(guò)程類似,基本的流程框圖如下。
先需要調(diào)用VISA Configure Serial Port完成串口參數(shù)的設(shè)置,包括串口資源分配、波特率、數(shù)據(jù)位、停止位、校驗(yàn)位和流控等等。
如果初始化沒(méi)有問(wèn)題,就可以使用這個(gè)串口進(jìn)行數(shù)據(jù)收發(fā)。發(fā)送數(shù)據(jù)使用VISA Write,接收數(shù)據(jù)使用VISA Read。在接收數(shù)據(jù)之前需要使用VISA Bytes at Serial Port查詢當(dāng)前串口接收緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),如果VISA Read要讀取的字節(jié)數(shù)大于緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),VISA Read操作將一直等待,直至Timeout或者緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù)達(dá)到要求的字節(jié)數(shù)。當(dāng)然也可以分批讀取接收緩沖區(qū)或者只從中讀取一定字節(jié)的數(shù)據(jù)。
在某些特殊情況下,需要設(shè)置串口接收/發(fā)送緩沖區(qū)的大小,此時(shí)可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer則可以清空接收與發(fā)送緩沖區(qū)。在串口使用結(jié)束后,使用VISA Close結(jié)束與VISA resource name指定的串口之間的會(huì)話。
具體的例子可以參考:examplesinstrsmplserl.llb。
第二部分使用MSCOMM控件
在LabVIEW中使用MSCOMM控件,與在VC、VB中使用一樣。同樣可以使用中斷方式進(jìn)行接收。具體的例子可以發(fā)索取。
首先通過(guò)LabVIEW的工具菜單“Tools >> Advanced >> Import ActiveX Controls”將Microsoft的串口控件-“Microsoft Communications Control,version 6.0”添加到LabVIEW環(huán)境中,存放在缺省路徑即可,這樣在User Controls Palette里面可以找到這個(gè)控件。
關(guān)鍵詞:
LABVIEW通訊問(wèn)
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論