So zur Feier des Tages hab ich mich mal dem Problem des ständig wechselnden USB COM Ports angenommen:
Ist nicht die sauberste Art, aber funktioniert![]()
Code:Imports System Imports System.IO Imports System.IO.Ports Imports System.Text Module Module1 Dim mySerial(0) As SerialPort Sub Main() Dim Serial(50) As SerialPort For i As Integer = 1 To 50 Serial(i) = New SerialPort("COM" & i, 9600) Try Serial(i).Open() ReDim Preserve mySerial(mySerial.Length) mySerial(mySerial.Length - 2) = Serial(i) Console.WriteLine("COM" & i & " geöffnet") AddHandler Serial(i).DataReceived, AddressOf ReadFromSerial Catch e As Exception End Try Next ReDim Preserve mySerial(mySerial.Length - 2) While (True) SendToAllSerial(Console.ReadKey(True).KeyChar) End While End Sub Sub SendToAllSerial(ByVal txt As String) For i As Integer = 0 To mySerial.Length - 1 mySerial(i).Write(txt) Next End Sub Public Sub ReadFromSerial(ByVal sender As Object, ByVal e As EventArgs) Dim sIn As SerialPort = sender Dim sData As String = sIn.ReadExisting ' Console.WriteLine("[" & sIn.PortName & "]" & sData) Console.Write(sData) End Sub End Module






Zitieren

Lesezeichen