沒有任何辦法單獨(dú)檢測串口是否連接你只能實(shí)時向串口發(fā)送測試數(shù)據(jù),這個測試數(shù)據(jù)必須要能夠被串口連接的設(shè)備識別并且有返回數(shù)據(jù)才行。如果上面的工作你都沒問題,那么每個時間間隔,你都發(fā)送測試數(shù)據(jù),如果你能接收到正確的返回值,自然就連接了,如果不能接收正確的返回值,那說明沒連接設(shè)備。當(dāng)然,如果你發(fā)送些無效的不能被串口已經(jīng)連接的設(shè)備所理解并能給你回送數(shù)據(jù)的東西,也不會得到任何回應(yīng)。
創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、含山網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為含山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
假設(shè)你的控件名為mscom1
判斷是否接到數(shù)據(jù)的語句為:
if mscom1.CommEvent = comEvReceive Then '如果comEvReceive為真,則數(shù)據(jù)接收到了
'傳來的數(shù)值在 mscom1.input 中
text1.text= text1.text mscom1.input
End if
j = 0\x0d\x0aFor i = 1 To 16 Step 1\x0d\x0aIf comISP.PortOpen = True Then '先關(guān)閉串口\x0d\x0acomISP.PortOpen = False\x0d\x0aEnd If\x0d\x0a\x0d\x0acomISP.CommPort = i\x0d\x0aOn Error Resume Next '說明當(dāng)一個運(yùn)行時錯誤發(fā)生時,控件轉(zhuǎn)到緊接著發(fā)生錯誤的語句之后的語句,并在此繼續(xù)運(yùn)行。訪問對象時要使用這種形式而不使用 On Error GoTo。\x0d\x0acomISP.PortOpen = True\x0d\x0aIf Err.Number 8002 Then '無效的串口號。這樣可以檢測到虛擬串口,如果用Err.Number = 0的話檢測不到虛擬串口\x0d\x0aIf j = 0 Then\x0d\x0aj = i\x0d\x0aEnd If\x0d\x0acboPort.AddItem "COM" i '生成串口選擇列表\x0d\x0aEnd If\x0d\x0acomISP.PortOpen = False\x0d\x0aNext i\x0d\x0a\x0d\x0aIf j = 1 Then\x0d\x0acboPort.Text = "COM" j '自動打開可用的最小串口號\x0d\x0acomISP.CommPort = j\x0d\x0acomISP.PortOpen = True\x0d\x0acmdOpenCom.Caption = "關(guān)閉串口"\x0d\x0ashpCOM.FillColor = vbGreen\x0d\x0aIf Err.Number = 8005 Then '串口已打開,vbExclamation '\x0d\x0acomISP.PortOpen = False\x0d\x0acboPort.Text = ""\x0d\x0acmdOpenCom.Caption = "打開串口"\x0d\x0ashpCOM.FillColor = vbRed\x0d\x0aEnd If\x0d\x0aEnd If
j = 0
For i = 1 To 16 Step 1
If comISP.PortOpen = True Then '先關(guān)閉串口
comISP.PortOpen = False
End If
comISP.CommPort = i
On Error Resume Next '說明當(dāng)一個運(yùn)行時錯誤發(fā)生時,控件轉(zhuǎn)到緊接著發(fā)生錯誤的語句之后的語句,并在此繼續(xù)運(yùn)行。訪問對象時要使用這種形式而不使用 On Error GoTo。
comISP.PortOpen = True
If Err.Number 8002 Then '無效的串口號。這樣可以檢測到虛擬串口,如果用Err.Number = 0的話檢測不到虛擬串口
If j = 0 Then
j = i
End If
cboPort.AddItem "COM" i '生成串口選擇列表
End If
comISP.PortOpen = False
Next i
If j = 1 Then
cboPort.Text = "COM" j '自動打開可用的最小串口號
comISP.CommPort = j
comISP.PortOpen = True
cmdOpenCom.Caption = "關(guān)閉串口"
shpCOM.FillColor = vbGreen
If Err.Number = 8005 Then '串口已打開,vbExclamation '
comISP.PortOpen = False
cboPort.Text = ""
cmdOpenCom.Caption = "打開串口"
shpCOM.FillColor = vbRed
End If
End If
文章題目:vb點(diǎn)虐
檢測串口 vb串口接收數(shù)據(jù)
網(wǎng)頁路徑:http://muchs.cn/article2/ddigdic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、商城網(wǎng)站、定制開發(fā)、用戶體驗(yàn)、小程序開發(fā)、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)