本文讲解C#串口通信数据接收不完整解决方案。
目录
一、概述
串口处理接收数据是串口程序编写的关键,在实际应用中基本是哪个采用异步通信的方式,所以接收数据就需要考虑接收数据的完整性,同时需要考虑数据分包,粘包,数据包的错误的情况。
有些场合尤其是全自动化设备指令收发时,数据完整性十分必要。
首先想到在串口接收事件里面添加延时,这种方案能解决分包发送的情况,对其他情况帮助不大,同时对时效要求高的情况下,显得鸡肋,不建议使用。
常规的正确的做法使用缓存的编写方式,当然这种依赖协议的完整性,本文以接收modbus协议数据为例。
二、Modbus RTU介绍
数据帧格式