在通過MODEM建立好聯系後,MODEM會返回“CONNECT9600”消息,其中9600表示所建立的波特率。如果沒有建立好通訊MODEM會返回“BUSY”。
我們可通訊取得MSCOMM1.INPUT中的內容可檢測是否已建立好聯系。建立好聯系和中斷聯系MSCOMM1的ONCOMM事件會產生一個定義好的MSCOMM_EV_CD消息,在對該消息的處理中也可檢測通訊的好與壞。
在模塊定義中加入以下代碼:
GlobalConstMSCOMM_EV_SEND=1
GlobalConstMSCOMM_EV_RECEIVE=2
GlobalConstMSCOMM_EV_CTS=3
GlobalConstMSCOMM_EV_DSR=4
GlobalConstMSCOMM_EV_CD=5
GlobalConstMSCOMM_EV_RING=6
GlobalConstMSCOMM_EV_EOF=7
GlobalConstMSCOMM_ER_BREAK=1001
GlobalConstMSCOMM_ER_CTSTO=1002
GlobalConstMSCOMM_ER_DSRTO=1003
GlobalConstMSCOMM_ER_FRAME=1004
GlobalConstMSCOMM_ER_OVERRUN=1006
GlobalConstMSCOMM_ER_CDTO=1007
GlobalConstMSCOMM_ER_RXOVER=1008
GlobalConstMSCOMM_ER_RXPARITY=1009
GlobalConstMSCOMM_ER_TXFULL=1010
在mscomm1_ONCOMM中加入
SelectCaseMSCOMM1.CommEvent'i=1,2...
'錯誤部分
CaseMSCOMM_ER_BREAK'插入處理BREAK代碼
CaseMSCOMM_ER_CDTO'插入處理CD(RLSD)超時代碼
CaseMSCOMM_ER_CTSTO'插入處理CTS超時代碼
CaseMSCOMM_ER_DSRTO'插入處理DSR超時代碼
CaseMSCOMM_ER_FRAME'插入處理幀錯誤代碼
CaseMSCOMM_ER_OVERRUN'插入處理數據丟失代碼
CaseMSCOMM_ER_RXOVER'插入處理接收緩沖器溢出代碼
CaseMSCOMM_ER_RXPARITY'插入處理校驗錯誤代碼
CaseMSCOMM_ER_TXFULL'插入處理發送緩沖器滿代碼
'事件部分
CaseMSCOMM_EV_SEND
CaseMSCOMM_EV_CD'插入處理CD信號改變代碼
msgbox"CD_CHANGE"
CaseMSCOMM_EV_CTS'插入處理CTS信號改變代碼
'MsgBox"EV_CTS"
CaseMSCOMM_EV_DSR'插入處理DST信號改變代碼
'MsgBox"EV_DSR"
CaseMSCOMM_EV_EOF'插入處理收到一個文本文件結束字(26)代碼
CaseMSCOMM_EV_RING'插入處理檢測到一個振鈴信號代碼
CaseMSCOMM_EV_RECEIVE'插入接收到設定的字符數時產生該事件代碼
'MsgBox"EV_RECEIVE"
CaseMSCOMM_EV_SEND'插入處理發送緩沖器中的字符數低於設定的數值時產生該事件的代碼
EndSelect->