C# 串口通信 使用SerialPort类的DataReceived事件接收的数据不完整,如何解决,请指教。 80

C#串口通信使用SerialPort类的DataReceived事件接收的数据不完整,只能就受到很少的一部分数据,大部分数据接收不到,如何解决,请指教。... C# 串口通信 使用SerialPort类的DataReceived事件接收的数据不完整,只能就受到很少的一部分数据,大部分数据接收不到,如何解决,请指教。 展开
 我来答
doubbb1e
2011-12-13
知道答主
回答量:68
采纳率:0%
帮助的人:25.2万
展开全部
你这种情况我以前也遇到过,根据实际情况有很多解决办法:
1.你可以在接收事件函数的开始位置延迟一段时间,根据数据长度的不同可以适当改变延迟的时间。
2.根据你接收的数据格式可以使用不同的Read方法。ReadTo()方法是直到读到相应的字符为止,ReadLine()方法是读到一个新行,Read()读取缓冲区的字节数。
希望对你有帮助。不懂的话可以继续问。
区拉文70
2011-12-12 · TA获得超过146个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:146万
展开全部
你只接受一次?还是不停的循环接收,收到结束符未知?
追问
如果循环接收的话,接收数据时read()方法中的字节数据的偏移量怎么设置?
追答
设置足够的缓冲区。收到足够长度的内容或者特殊字节作为结束符。作为一个段有效数据去解包处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式