我已經在vb.net中創建了一個簡單的應用程序,它從藍牙設備(簡單的字符串,如「90123.9mm」)接收數據。如何檢查藍牙連接是否關閉或無法使用vb.net創建?
有沒有辦法檢查設備是否關閉了連接?
我試圖把代碼中的定時器
If SerialPort1 Is Nothing Then
MsgBox("no connect")
End If
If Not (SerialPort1.IsOpen) Then
MsgBox("no connect")
End If
,但沒有運氣。
這裏是連接和接收代碼。連接到遠程設備和任何連接的所有的可見性 -
Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
SerialPort1.PortName = "COM22"
SerialPort1.BaudRate = "9600"
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8
SerialPort1.Open()
If SerialPort1 Is Nothing Then
MsgBox("no connect")
End If
If Not (SerialPort1.IsOpen) Then
MsgBox("no connect")
End If
btnConnect.Enabled = False
btnDisconnect.Enabled = True
End Sub
Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click
SerialPort1.Close()
btnConnect.Enabled = True
btnDisconnect.Enabled = False
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
ReceivedText(SerialPort1.ReadExisting()) 'aftomata kalite kathe fora pou dexomai nea dedomena
End Sub
Private Sub ReceivedText(ByVal [text] As String)
If Me.rtbReceived.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.rtbReceived.Text &= [text]
End If
End Sub
感謝您的回答,我會在12小時內嘗試! –
推測@jkarr你沒有看到任何異常,因此catch塊將沒有任何東西可以趕上... – alanjmcf
Coddey你的代碼工作正常很多很多謝謝! –