代码之家  ›  专栏  ›  技术社区  ›  Prashant Pimpale Dila Gurung

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

  •  0
  • Prashant Pimpale Dila Gurung  · 技术社区  · 7 年前

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

    1)连接

    2)发送数据

    3)断开

    目前,我已经使用 serialPort.DataReceived 像:

    serialPort.DataReceived += new SerialDataReceivedEventHandler(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);
    
    0 回复  |  直到 7 年前
        1
  •  1
  •   mm8    7 年前

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

    不,不是。这个 SerialPort 类只提升 DataReceived 事件表明 一些 已收到数据。

    然后由您来解释数据,如何解释取决于所读取的数据。上提供了一个基本示例 MSDN .