Hallo Zusammen,
ich versuche ein Programm zu programmieren das an alle vorhandenen Ports ein Signal schickt. An COM1 wird COM1 gesendet an COM2 wird COM2 gesendet usw...
Durch einen Kurzschlussstecker bekomme ich dann den Port angezeigt an dem der Kurzschlussstecker steckt.
In dem Programm habe ich ein kleines Terminal Programm programmiert...
Das funktioniert ohne Probleme
Leider funktioniert die Funktion an alle verfügbaren Schnittstellen signal schicken und anzeigen an welchen Port der Kurzschlussstecker steckt nicht...
Ich lande immer bei kein Kurzschlussstecker gesteckt
Oder bekomme andere schwierigkeiten COM1 funktioniert aber nach dem umstecken an COM2 funktioniert das Programm nicht mehr. (Kein Stecker gesteckt)
Habt ihr eine Idee wie man das eleganter lösen könnte?
Danke schon mal
/// Zum Empfangen...
mpfangen
~blaze~: vbnet-Tags eingefügt
ich versuche ein Programm zu programmieren das an alle vorhandenen Ports ein Signal schickt. An COM1 wird COM1 gesendet an COM2 wird COM2 gesendet usw...
Durch einen Kurzschlussstecker bekomme ich dann den Port angezeigt an dem der Kurzschlussstecker steckt.
In dem Programm habe ich ein kleines Terminal Programm programmiert...
Das funktioniert ohne Probleme
Leider funktioniert die Funktion an alle verfügbaren Schnittstellen signal schicken und anzeigen an welchen Port der Kurzschlussstecker steckt nicht...
Ich lande immer bei kein Kurzschlussstecker gesteckt
Oder bekomme andere schwierigkeiten COM1 funktioniert aber nach dem umstecken an COM2 funktioniert das Programm nicht mehr. (Kein Stecker gesteckt)
Habt ihr eine Idee wie man das eleganter lösen könnte?
Danke schon mal
VB.NET-Quellcode
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click // Button für den COM Test
- 'Interval Zahlen für Schleife einlesen
- Dim Interval1 As String
- Interval1 = TextBox1.Text
- Dim Interval2 As String
- Interval2 = TextBox2.Text
- 'ComboBox1 mit verfügbaren seriellen Schnittstellen füllen
- myPort = IO.Ports.SerialPort.GetPortNames()
- ComboBox1.Items.Clear()
- ComboBox1.Items.AddRange(myPort)
- 'Text Box für die Anzeige der empfangenen Daten leeren, Schnittstelle schließen und Baut Rate einstellen
- RichTextBox2.Clear()
- SerialPort1.Close()
- SerialPort1.BaudRate = 9600
- 'Schleife z.B 1-35 Alle Schnittstellen von COM1 bis COM35
- For i = CInt(Interval1) To CInt(Interval2) Step 1
- Dim portnummer As String
- portnummer = CStr(i)
- If ComboBox1.Items.Contains("COM" + portnummer) Then
- 'Wenn i Teil der verfügbaren COM Schnittstellen ist...
- Try
- SerialPort1.Close()
- 'Port öffnen
- SerialPort1.PortName = "COM" + portnummer
- SerialPort1.Open()
- SerialPort1.Write("COM" + portnummer + vbCr)
- 'Die geschriebene Portnummer wird über den Kurzschlussstecker wieder empfangen...
- Catch ex As Exception
- End Try
- If RichTextBox2.Text = "" Then 'Wenn kein Wert empfangen wurde Meldung...
- RichTextBox2.Text = "Kein Teststecker gefunden!!!"
- End If
- SerialPort1.Close()
- 'Port wieder schließen
- End If
- Next i
- End Sub
/// Zum Empfangen...
VB.NET-Quellcode
- Private Sub ReceivedText(ByVal [text] As String) 'input from ReadExisting
- If Me.RichTextBox2.InvokeRequired Then
- Dim x As New SetTextCallback(AddressOf ReceivedText)
- Me.Invoke(x, New Object() {(text)})
- Else
- Me.RichTextBox2.AppendText([text]) 'append text
- 'RichTextBox2.SelectionStart = Len(RichTextBox2.Text)
- 'RichTextBox2.ScrollToCaret()
- End If
- End Sub
~blaze~: vbnet-Tags eingefügt
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()