C# ---- 串口数据 YSI 实例(续)

如本文时间 23:05

由于实际设备使用网络传输转虚拟串口模式,现场安装之后还是出了问题。

从20:30研究到23:30才终于弄明白

                //打开新的串行端口连接
                sp.Open();
                //丢弃来自串行驱动程序的接受缓冲区的数据
                sp.DiscardInBuffer();
                //丢弃来自串行驱动程序的传输缓冲区的数据
                sp.DiscardOutBuffer();
                //使用缓冲区的数据将指定数量的字节写入串行端口
                sp.Write(wbb, 0, wbb.Length);
                //当前线程挂起500毫秒
                System.Threading.Thread.Sleep(20000);
                //读取数据超时
                sp.ReadTimeout = 10000;
                //读取接收数据
                sp.Read(rdb, 0, rdb.Length);
                //读取记录转换为字符串
                string[] rdstr = new string[rdb.Length];

这段线程挂起操作,绝不是当摆设的。。。。

如果传输数据需要时间,必须延长挂起时间。

你可能感兴趣的:(C#)