我正在编写从COM端口读取的代码。我希望它从两个端口读取而不必关闭第一个端口并打开第二个端口。我该怎么做呢?
答案 0 :(得分:4)
using System.IO.Ports;
...
SerialPort port1 = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
SerialPort port2 = new SerialPort("COM2", 9600, Parity.None, 8, StopBits.One);
port1.DataReceived += new SerialDataReceivedEventHandler(port1_DataReceived);
port2.DataReceived += new SerialDataReceivedEventHandler(port2_DataReceived);
port1.Open();
port2.Open();
...
private void port1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// Show all the incoming data in the port's buffer
Console.WriteLine(port1.ReadExisting());
}
private void port2_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// Show all the incoming data in the port's buffer
Console.WriteLine(port2.ReadExisting());
}
答案 1 :(得分:1)
您可以创建两个CommPort对象并将它们打开。只需'新'它们两个,设置每个通信端口的参数并使用它。