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
感谢