项目需要实现下位机和上位机的数据传输,看了网上的很多上位机的处理方法主要有两种。方法一是:port_DataReceived(SerialPort控件的数据接收方法,当有数据来临时会触发)会创建一个线程,因此当串口在等待数据时,不影响主窗体或主线程的操作。方法二是:使用缓存机制(参考:http://blog.csdn.net/jiqiang_paul/article/details/6914619)。首先通过定义一个成员变量List ReceBuf new List(4096);用来存放所有的数据,在接收函数里,通过RecBuf.AddRange()方法不断地将接收到的数据加入到ReceBuf中,并同时对Recebuf中的数据进行检验,如果达到一定的长度并且校验结果正确(校验方法在发送方和
C# 解决上位机串口接收数据丢失问题
最新推荐文章于 2024-08-07 08:37:25 发布
项目中需要实现下位机与上位机间的数据传输,本文介绍了两种常见的C#串口接收数据的方法。一种是利用`port_DataReceived`事件创建线程,确保数据接收时不阻塞主窗口操作。另一种是采用缓存机制,通过`ReceBuf`列表存储接收到的数据,并在数据达到一定长度且校验正确时进行处理。
摘要由CSDN通过智能技术生成