2011-06-07 204 views
0

我正在編寫從COM端口讀取的代碼。我希望它從兩個端口讀取,而不必關閉第一個端口並打開第二個端口。我會如何去做這件事?如何從兩個COM端口讀取?

+2

你試過**什麼**嗎? – Snowbear 2011-06-07 19:07:16

+0

什麼平臺,什麼框架,你試過什麼? – 2011-06-07 19:10:44

回答

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

您可以創建兩個CommPort對象並將它們都打開。只是'新'他們都起來,設置每個通信端口的參數,並在它。

+0

我不確定,那是我想知道的。 – lk5163 2011-06-07 19:06:31

+2

以這種方式表達它不僅僅是一個回答而是一個評論。 – Snowbear 2011-06-07 19:08:28

+0

這**是一個答案,但鑑於OP的困難,一個好的答案需要將所有東西拼出來。 – 2011-06-07 19:44:56