2
我想設置一個程序,允許您打開多個COM端口,然後選擇發送數據的哪個COM端口。我使用的計算機有18個COM端口。同樣在第一個代碼中,它顯示端口是開放的,他們只是不會收到任何東西。打開多個COM端口和發送/接收數據
Dim Ports As New List(Of IO.Ports.SerialPort)
Ports.Add(New IO.Ports.SerialPort)
Ports(0).PortName = "COM1"
Ports(0).BaudRate = 9600
Ports(0).DataBits = 8
Ports(0).StopBits = IO.Ports.StopBits.One
Ports(0).Open()
'Data Received Interrupt to read and display anything coming in the RXD pin.
Private Sub SerialPort1_Datareceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
CheckForIllegalCrossThreadCalls = False
Dim data As String
'rxListBox.Items.Add(data)
data = Ports(0).ReadExisting.ToString()
End Sub
這就是我想要做的,但我不能讓它接收數據。如果我將代碼更改爲下面列出的代碼,它的工作原理,但我想用一個數組之間切換端口的方式。
'Setup serial Port parameters
SerialPort1.PortName = "COM1"
SerialPort1.BaudRate = 9600
SerialPort1.DataBits = 8
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.Open()
'Data Received Interrupt to read and display anything coming in the RXD pin.
Private Sub SerialPort1_Datareceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
CheckForIllegalCrossThreadCalls = False
Dim data As String
data = SerialPort1.ReadExisting.ToString()
rxListBox.Items.Add(data)
End Sub
感謝