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
Lesezeichen