求指点下,通过串口传输一个二进制文件到下位机,在DataReceived接收消息时,根据消息进行其它处理。问题就是接收的消息是一段段的传过来的,我怎么知道消息全部接收到了?

解决方案 »

  1.   

    你在消息中自己定义个值 接收的时候判断 为true 就是传完了
      

  2.   

    有许多现成协议可以收发二进制数据,比如modbus
      

  3.   

    1、你的设备有没有文档,有文档一般会写出接收命令的结尾是什么。
    2、如果没有上述,我觉得不用receive事件,直接发送命令后 延迟几百毫秒,然后自己去读   SerialPort serialPortCom             int bytes = serialPortCom.BytesToRead;            byte[] buffer = new byte[bytes];            serialPortCom.Read(buffer, 0, bytes);