真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vb.net查找可用串口 vb自動檢測串口

怎樣在vb中自動檢測到可用串口號

沒有任何辦法單獨檢測串口是否連接你只能實時向串口發(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)站設(shè)計制作、成都網(wǎng)站建設(shè)、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。

VB與VB.NET串口及以太網(wǎng)通迅

關(guān)于串口通訊的問題:

很明顯,你還不知道(不會、不習(xí)慣)使用事件驅(qū)動的方式接收數(shù)據(jù)。

建議你仔細(xì)看看串口組件(無論VB6還是VB.net)的OnComm事件,你的問題很容易解決。

關(guān)于以太網(wǎng)通訊:

在TCP通訊中端口確實可以重用,你百度一下“TCP端口重用”能查到很多示例。

但絕大多數(shù)情況下不推薦端口重用,而應(yīng)該采取服務(wù)器端建立連接池的方法。

或者,干脆不用TCP,用UDP解決也可以。

怎樣用VB來判斷串口是否存在,是否被占用?是否有數(shù)據(jù)輸入?

如下是檢測串口是否存在,是否被占用的代碼:

Option Explicit

Dim a As Integer

Private Sub Form_Load()

MSComm1.Settings = "9600,n,8,1"

MSComm1.InputMode = comInputModeBinary '采用二進(jìn)制傳輸

MSComm1.InBufferCount = 0 '清空接受緩沖區(qū)

MSComm1.OutBufferCount = 0 '清空傳輸緩沖區(qū)

MSComm1.RThreshold = 1 '產(chǎn)生MSComm事件

MSComm1.InBufferSize = 1024

Shape1.FillStyle = 0

OpenPortNum

End Sub

Private Sub OpenPortNum()

On Error GoTo uerror

For a = 1 To 16

MSComm1.CommPort = a

MSComm1.PortOpen = True

If MSComm1.PortOpen = True Then

Print "可用Com號= "; a

MSComm1.PortOpen = False

End If

Next

Exit Sub

uerror:

Print "出錯或占用Com號= "; a

Resume Next

End Sub

如要探測某個COM口是否有數(shù)據(jù)輸入則需在打開某個串口后,用OnComm事件來接收.

怎樣在vb中自動檢測到可用串口號的具體程序代碼

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.net2010十六進(jìn)制讀取串口的問題

不是很明白你的題意

strHex = strHex + [String].Format("{0:X2} "

這里的意思是把每個字節(jié)數(shù)據(jù)轉(zhuǎn)換成了十六進(jìn)制,每個字節(jié)占兩個字符

如果你串口收到的4個字節(jié)數(shù)據(jù):43,27,56,200

那么你的結(jié)果是:2B1B38C8

即receivebytes.Text="2B1B38C8"

不足兩位的補(bǔ)0

如果你串口收到的4個字節(jié)數(shù)據(jù):3,27,56,200

那么你的結(jié)果是:031B38C8

即receivebytes.Text="031B38C8"

vb.net 串口接收問題

不會吧!可能有些東西需要你打開。

例如: dtE 等,還有是不是 需要廠家的 API 或 SDK 啊

參數(shù)等。

要不就是打開方式不一樣,例如使用文件方式打開 。


文章題目:vb.net查找可用串口 vb自動檢測串口
文章地址:http://weahome.cn/article/higpio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部