我正在通過筆記本電腦/ PC的USB端口連接RS232的項目。我已經創建了vb.net應用程序。當應用程序第一次加載時,它需要檢測串行端口。到目前爲止,我手動將端口名放在串口的屬性中,但是如果我部署我的應用程序,並且如果使用其他筆記本電腦/ PC,則會出現錯誤:運行我的GUI時發生System.IO.IOException。我想編程serialport的自動檢測,但我是vb.net中的串口編程的新手。如何在vb.net中編程自動檢測串行端口
任何人都可以幫助我嗎?謝謝!
這是我的程序的某些部分:
Imports System.IO.Ports
Public Class Form1
'Dim myPort As Array
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
'myPort = IO.Ports.SerialPort.GetPortNames()
SerialPort1.Open()
Timer1.Enabled = True
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
'==zigbee sent data to the app====
Console.Beep(3000, 1000) 'high tone buzzer whenever there is a notification received
MsgBox("THERE IS A NOTIFICATION RECEIVED!")
uart_rx = Me.SerialPort1.ReadExisting
toDisplay = toDisplay + uart_rx
flag = 1 'there is a notification sent
End Sub
....
後MyPort上= IO.Ports.SerialPort.GetPortNames(),我不知道下一步該怎麼做。
將這項工作:當(計數器= 0) SerialPort1.PortName = MyPort上(ⅰ) SerialPort1.Open() 如果SerialPort1.IsOpen然後 計數器= 1 結束如果 I = I + 1 端,而 計數器= 0 錯誤我的電纜是心情不好嘿嘿不能檢測到我的電腦。 – 2013-03-03 08:45:04
如何知道是否有設備連接?它是否連續發送數據?它是否對特定命令作出響應? – dbasnett 2013-03-03 14:40:32