是否可以为串行端口中的每个响应注册不同的回调函数

时间:2019-03-05 08:41:59

标签: c# wpf serial-port

我目前正在通过串行端口开发与嵌入式板的WPF应用程序通信,我必须发送2至3个以上的命令

1)连接

2)发送数据

3)断开连接

当前,我已经像这样使用serialPort.DataReceived

serialPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);

port_DataReceived回调方法:

private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

}

每条命令(连接,发送数据,断开连接)都会被调用。

那么是否可以为每个命令注册不同的方法?

serialPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceivedForConnect);

serialPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceivedForSendData);

serialPort.DataReceived += new SerialDataReceivedEventHandler(port_DataReceivedDisconnect);

1 个答案:

答案 0 :(得分:1)

  

那么是否可以为每个命令注册不同的方法?

不,不是。 SerialPort类仅引发DataReceived事件,以指示已接收到 some 数据。

然后由您来解释数据,该如何执行取决于所读取的数据。 MSDN上有一个基本示例。