如何在串口C#中检查数据接收事件

时间:2013-12-04 06:48:13

标签: c# serial-port

我正在尝试使用串口读取/写入一些数据

byte[] txTestData = new byte[] { 0x03, 0x0, 0x01, 0x0};
Serial.Write(txTestData, 0, txTestData.Length);

但我只想在从串口接收数据时读取数据。的,即

if(Data received from serial port)
{
   byte[] rxTestResponse = new byte[2];
   Serial.Read(rxTestResponse, 0, 2);
}

是否有任何API告诉我收到的数据事件??

谢谢, Dattatarya

1 个答案:

答案 0 :(得分:4)

是的,有一个API可以告诉您何时收到数据,它被称为事件。阅读有关事件here的更多信息。

附加活动:

mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

创建处理程序

private static void DataReceivedHandler(object sender,SerialDataReceivedEventArgs e)
{
     byte[] rxTestResponse = new byte[2];
     Serial.Read(rxTestResponse, 0, 2);
}

每次SerialPort接收数据时,它都会调用DataReceived事件,您的事件处理程序将执行