labview串口通訊的深入分析.

labview串口通訊的深入分析.

ID:14595530

大?。?69.00 KB

頁數(shù):9頁

時間:2018-07-29

labview串口通訊的深入分析._第1頁
labview串口通訊的深入分析._第2頁
labview串口通訊的深入分析._第3頁
labview串口通訊的深入分析._第4頁
labview串口通訊的深入分析._第5頁
資源描述:

《labview串口通訊的深入分析.》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫

1、labview串口通訊的深入分析.發(fā)表于:08-04-27 最后更新時間:08-05-05 所屬論壇:LabVIEW評論(2)

2、完整回復

3、提交評論

4、打印此頁共3項,第1/1頁csxcs_366普通會員積分:575labview稱做"G"語言,只是說明了它具備了通用編程語言的編程能力,但是任何編程語言都有器獨特的特點,否則經(jīng)過幾十年的風風雨雨,并沒有出現(xiàn)一種編程語言一統(tǒng)天下的格局,每種編程語言都有其特別適合的領域,從這點來說,數(shù)據(jù)采集和儀器通訊可以說是它最擅長的領域.毫無疑問,計算機的串口通訊是相對比較簡單的通訊方式,labvi

5、ew也不例外地對它提供了支持.LABVIEW的串口控制,可以通過多種方法:1.最基本的INOUT控制,LABVIEW提供了Inport?和OutPort兩個基本輸入輸出VI,通過它就可以直接讀寫寄存器,我本人?做的許多并口控制設備就是利用了這兩個節(jié)點,在計算機的DOS時代,通過INOUT指令進行串口通訊是唯一的選擇,現(xiàn)在正在做單片機的朋友都知道,單片機的串口通訊都是通過操作寄存器實現(xiàn)的,對于計算機的COM1,它的端口地址是0X3F8,完全可以通過它來完成串口通訊.2.利用API的WriteFile函數(shù)實現(xiàn)串口通訊,這是VC進行

6、串口通訊的方法.3.利用VB提供的MSCOMM控件(這是目前用的最多的,它支持查詢和中斷兩種模式,即可以發(fā)送文本型數(shù)據(jù)(ASCII),由可以發(fā)送二進制(BIN,實際是BYTEARRAY)4.利用LABVIEW特有的VISA通訊直接控制寄存器的方法在計算機串口通訊基本看不到了.只有在單片機中還采用這種方式.通過C51串口通訊,簡單地介紹一下這種方法:/*發(fā)送數(shù)據(jù)函數(shù)?。痸oidSendData(uchar?*buf){uchari;ucharlen;len=strlen(buf);/*取得字符串長度*/for(i=0;i

7、n;i++){SBUF=buf[i];/*SBUF是串口輸出REG?。痺hile(!TI);/*等待發(fā)送完成 */TI=0;?????/*復位中斷標志?。椒ǎ仓苯诱{(diào)用API非常復雜,在LV不會采用,就不介紹了.方法3是目前用的最多,介紹一下.MSComm控件提供下列兩種處理通訊的方式:事件驅(qū)動方式和查詢方式。來源: http://dev.yesky.com/347/2636847.shtml?。?1事件驅(qū)動方式  事件驅(qū)動通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時需要得到通知,例如,在

8、串口接收緩沖區(qū)中有字符,或者CarrierDetect(CD)或RequestToSend(RTS)線上一個字符到達或一個變化發(fā)生時。在這些情況下,可以利用MSComm控件的OnComm事件捕獲并處理這些通訊事件。OnComm事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱CommEvent屬性。在編程過程中,就可以在OnComm事件處理函數(shù)中加入自己的處理代碼。這種方法的優(yōu)點是程序響應及時,可靠性高。每個MSComm控件對應著一個串行端口。如果應用程序需要訪問多個串行端口,必須使用多個MSComm控件?! 。?/p>

9、.2查詢方式  查詢方式實質(zhì)上還是事件驅(qū)動,但在有些情況下,這種方式顯得更為便捷。在程序的每個關鍵功能之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。如果應用程序較小,并且是自保持的,這種方法可能是更可取的。例如,如果寫一個簡單的電話撥號程序,則沒有必要對每接收一個字符都產(chǎn)生事件,因為唯一等待接收的字符是調(diào)制解調(diào)器的“確定”響應?!  SComm控件有很多重要的屬性,但首先必須熟悉幾個屬性。CommPort設置并返回通訊端口號。Settings以字符串的形式設置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位。PortO

10、pen設置并返回通訊端口的狀態(tài)。也可以打開和關閉端口。Input從接收緩沖區(qū)返回和刪除字符。Output向傳輸緩沖區(qū)寫一個字符串?!∠旅娣謩e描述:  CommPort屬性:設置并返回通訊端口號?! ≌Z法object.CommPort[value](value一整型值,說明端口號。)  說明在設計時,value可以設置成從1到16的任何數(shù)(缺省值為1)。但是如果用PortOpen屬性打開一個并不存在的端口時,MSComm控件會產(chǎn)生錯誤68(設備無效)?! ∽⒁猓罕仨氃诖蜷_端口之前設置CommPort屬性?! Threshold

11、屬性:在MSComm控件設置CommEvent屬性為comEvReceive并產(chǎn)生OnComm之前,設置并返回的要接收的字符數(shù)。  語法:object.Rthreshold[=value](value整型表達式,說明在產(chǎn)生OnComm事件之前要接收的字符數(shù)。)  說明:當接收

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。