新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > labview串口通訊的深入分析.

labview串口通訊的深入分析.

作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏


  說明:若設(shè)置 Sthreshold 屬性為 0(缺省值),數(shù)據(jù)傳輸事件不會產(chǎn)生 OnComm 事件。若設(shè)置 Sthreshold 屬性為 1,當(dāng)傳輸緩沖區(qū)完全空時,MSComm 控件產(chǎn)生 OnComm 事件。如果在傳輸緩沖區(qū)中的字符數(shù)小于 value,CommEvent 屬性設(shè)置為 comEvSend,并產(chǎn)生 OnComm 事件。comEvSend 事件僅當(dāng)字符數(shù)與 Sthreshold 交叉時被激活一次。例如,如果 Sthreshold 等于 5,僅當(dāng)在輸出隊列中字符數(shù)從 5 降到 4 時,comEvSend 才發(fā)生。如果在輸出隊列中從沒有比 Sthreshold 多的字符,comEvSend 事件將絕不會發(fā)生。

  Handshake 常數(shù)

本文引用地址:http://m.butianyuan.cn/article/201701/337261.htm
常數(shù)描述
comNone0無握手。
comXonXoff1XOn/Xoff 握手。
comRTS2Request-to-send/clear-to-send 握手。
comRTSXOnXOff3Request-to-send 和 clear-to-send 握手皆可。

  OnComm 常數(shù)

常數(shù)描述
comEvSend1發(fā)送事件。
comEvReceive2接收事件。
comEvCTS3clear-to-send 線變化。
comEvDSR4data-set ready 線變化。
comEvCD5carrier detect 線變化。
comEvRing6振鈴檢測。
comEvEOF7文件結(jié)束。

  Error 常數(shù)

常數(shù)描述
comEventBreak1001接收到中斷信號
comEventCTSTO1002Clear-to-send 超時
comEventDSRTO1003Data-set ready 超時
comEventFrame1004幀錯誤
comEventOverrun1006端口超速
comEventCDTO1007Carrier detect 超時
comEventRxOver1008接收緩沖區(qū)溢出
comEventRxParity1009Parity 錯誤
comEventTxFull1010傳輸緩沖區(qū)滿
comEventDCB1011檢索端口 設(shè)備控制塊 (DCB) 時的意外錯誤

  InputMode 常數(shù)

常數(shù)描述
comInputModeText0 (缺?。?/td>通過 Input 屬性以文本方式取回數(shù)據(jù)。
comInputModeBinary1通過 Input 屬性以二進(jìn)制方式檢取回數(shù)據(jù)。

  CDHolding 屬性:通過查詢 Carrier Detect (CD) 線的狀態(tài)確定當(dāng)前是否有傳輸。Carrier Detect 是從調(diào)制解調(diào)器發(fā)送到相聯(lián)計算機(jī)的一個信號,指示調(diào)制解調(diào)器正在聯(lián)機(jī)。該屬性在設(shè)計時無效,在運(yùn)行時為只讀。

  語法 object.CDHolding

  設(shè)置值:CDHolding 屬性的設(shè)置值為:

設(shè)置描述
TrueCarrier Detect 線為高電平
FalseCarrier Detect 線為低電平

  說明:注意當(dāng) Carrier Detect 線為高電平 (CDHolding = True) 且超時時,MSComm 控件設(shè)置CommEvent 屬性為 comEventCDTO(Carrier Detect 超時錯誤),并產(chǎn)生 OnComm 事件。

  注意 在主機(jī)應(yīng)用程序中捕獲一個丟失的傳輸是特別重要的,例如一個公告板,因?yàn)楹艚姓呖梢噪S時掛起(放棄傳輸)。

  Carrier Detect 也被稱為 Receive Line Signal Detect (RLSD)。

  數(shù)據(jù)類型:Boolean

  DSRHolding 屬性:確定 Data Set Ready (DSR) 線的狀態(tài)。Data Set Ready 信號由調(diào)制解調(diào)器發(fā)送到相連計算機(jī),指示作好操作準(zhǔn)備。該屬性在設(shè)計時無效,在運(yùn)行時為只讀。

  語法:object.DSRHolding

  object 所在處表示對象表達(dá)式,其值是“應(yīng)用于”列表中的對象。

  DSRHolding 屬性返回以下值:

描述說明
TrueData Set Ready 線高  當(dāng) Data Set Ready 線為高電平 (DSRHolding = True) 且超時時,MSComm 控件設(shè)置 CommEvent 屬性為 comEventDSRTO(數(shù)據(jù)準(zhǔn)備超時)并產(chǎn)生 OnComm 事件。
  當(dāng)為 Data Terminal Equipment (DTE) 機(jī)器寫 Data Set Ready/Data Terminal Ready 握手例程時該屬性是十分有用的。
  數(shù)據(jù)類型:Boolean
FalseData Set Ready 線低

  Settings 屬性: 設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位參數(shù)。

  語法: object.Settings[ = value]

  說明:當(dāng)端口打開時,如果 value 非法,則 MSComm 控件產(chǎn)生錯誤 380(非法屬性值)。

  Value 由四個設(shè)置值組成,有如下的格式:

  "BBBB,P,D,S"

  BBBB 為波特率,P 為奇偶校驗(yàn),D 為數(shù)據(jù)位數(shù),S 為停止位數(shù)。value 的缺省值是:

  "9600,N,8,1"

  InputLen 屬性:設(shè)置并返回 Input 屬性從接收緩沖區(qū)讀取的字符數(shù)。

  語法 object.InputLen [ = value]

  InputLen 屬性語法包括下列部分:

  value 整型表達(dá)式,說明 Input 屬性從接收緩沖區(qū)中讀取的字符數(shù)。

  說明:InputLen 屬性的缺省值是 0。設(shè)置 InputLen 為 0 時,使用 Input 將使 MSComm 控件讀取接收緩沖區(qū)中全部的內(nèi)容。

  若接收緩沖區(qū)中 InputLen 字符無效,Input 屬性返回一個零長度字符串 ("")。在使用 Input 前,用戶可以選擇檢查 InBufferCount 屬性來確定緩沖區(qū)中是否已有需要數(shù)目的字符。該屬性在從輸出格式為定長數(shù)據(jù)的機(jī)器讀取數(shù)據(jù)時非常有用。

  EOFEnable 屬性:確定在輸入過程中 MSComm 控件是否尋找文件結(jié)尾 (EOF) 字符。如果找到 EOF 字符,將停止輸入并激活 OnComm 事件,此時 CommEvent 屬性設(shè)置為 comEvEOF,

  語法:object.EOFEnable [ = value ]

  EOFEnable 屬性語法包括下列部分:

  value 布爾表達(dá)式,確定當(dāng)找到 EOF 字符時,OnComm 事件是否被激活,如“設(shè)置值”中所描述。

  value 的設(shè)置值:

  True 當(dāng) EOF 字符找到時 OnComm 事件被激活。

  False (缺?。┊?dāng) EOF 字符找到時 OnComm 事件不被激活。

  說明:當(dāng) EOFEnable 屬性設(shè)置為 False,OnComm 控件將不在輸入流中尋找 EOF 字符。

  3.錯誤消息(MS Comm 控件)

  下表列出 MSComm 控件可以捕獲的錯誤:

描述
380無效屬性值 comInvalidPropertyValue
383屬性為只讀 comSetNotSupported
394屬性為只讀 comGetNotSupported
8000端口打開時操作不合法 comPortOpen
8001超時值必須大于 0
8002無效端口號 comPortInvalid
8003屬性只在運(yùn)行時有效
8004屬性在運(yùn)行時為只讀
8005端口已經(jīng)打開 comPortAlreadyOpen
8006設(shè)備標(biāo)識符無效或不支持該標(biāo)識符
8007不支持設(shè)備的波特率
8008指定的字節(jié)大小無效
8009缺省參數(shù)錯誤
8010硬件不可用(被其它設(shè)備鎖定)
8011函數(shù)不能分配隊列
8012設(shè)備沒有打開 comNoOpen
8013設(shè)備已經(jīng)打開
8014不能使用 comm 通知
8015不能設(shè)置 comm 狀態(tài) comSetCommStateFailed
8016不能設(shè)置 comm 事件屏蔽
8018僅當(dāng)端口打開時操作才有效 comPortNotOpen
8019設(shè)備忙
8020讀 comm 設(shè)備錯誤 comReadError
8021為該端口檢索設(shè)備控制塊時的內(nèi)部錯誤 comDCBError


以上這部分轉(zhuǎn)載于網(wǎng)上.



關(guān)鍵詞: labview串口通

評論


技術(shù)專區(qū)

關(guān)閉