C#串口数据接收问题

兵书狂剑 兵书狂剑 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用c#编写了一个串口数据接收软件,接收的数据为16进制的6个字符,每秒一次,我软件接受到的数据中大部分是对的,但会有一部分错误,不知道什么原因,发送的数据肯定没有问题,用其他串口调试助手试过,不知道程序是哪的问题,求大神帮我看看,谢谢!

private void comm_DataReceived_1(object sender, SerialDataReceivedEventArgs e)
{
yanshi++;
if (yanshi < 10) return; //仪器的初始化
Data_Receive.Clear();
Thread.Sleep(100); //读取速度太慢,加Sleep延长读取时间, 不可缺少
byte[] buf = new byte[6]; //声明一个临时数组存储当前来的串口数据
received_count += 1; //增加接收计数
comm.Read(buf, 0, 6); //读取缓冲数据
comm.DiscardInBuffer(); //清空缓存,避免下次的数据相互干扰
}

上面是代码,请大神帮我看看,buf中的数据会不定时出现几个与发送不同的数据
...全文
评论 16
收藏 已收藏
分享
返回顶部
兵书狂剑
C# 111,129 成员 642,538 内容