Wie programmiert man die automatische Erkennung serielle Schnittstelle in vb.net

Arbeite ich an einem Projekt, bei dem RS232-Anschluss über USB-port des laptop /PC. Ich bereits erstellt vb.net -Anwendung. So lädt die Anwendung für die erste Zeit, die es braucht, um zu erkennen die serielle Schnittstelle. Bisher habe ich manuell setzen Sie den Portnamen in den Eigenschaften des serialport-aber wenn ich die Bereitstellung der Anwendung und wenn ich die anderen laptop /PC, es wäre ein Fehler: System.IO.IOException, da ich meine GUI. Ich will das Programm die automatische Erkennung von serialport, aber ich bin neu auf die serielle Schnittstelle Programmieren in vb.net.

Kann mir jemand helfen? danke!

Dies ist ein Teil meines Programm:

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

....

Nach myPort = IO.- Ports.SerialPort.GetPortNames() , ich weiß nicht, was als Nächstes zu tun ist.

  • Wird diese Arbeit: While (counter = 0) SerialPort1.PortName = myPort(i) SerialPort1.Open() If SerialPort1.IsOpen Dann Zähler = 1 End If i = i + 1 End While counter = 0 Err mein Kabel ist auf schlechte Laune hehe cant detect meinem PC.
  • Wie würden Sie wissen, ob es ein Gerät angeschlossen ist oder nicht? Tut es das senden von Daten kontinuierlich? Antwortet es auf einen bestimmten Befehl?
Schreibe einen Kommentar