c# 串口调试校验方式功能

现在实现了串口打开,关闭,发送数据,但是发送一直无反应,应该是少了个校验方式,类似于下图的软件这个窗口的功能怎么实现?... 现在实现了串口打开,关闭,发送数据,但是发送一直无反应,应该是少了个校验方式,类似于下图的软件

这个窗口的功能怎么实现?
展开
 我来答
秋俊在路上
推荐于2016-03-27 · 超过85用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:111万
展开全部

窗口设计简单可以先抛开,你先解决数据发数据/接收问题,其他只是显示而已。

      public string GetData(SerialPort port, string textSend)//获取相关数据
        {
            StringBuilder sb = new StringBuilder();
            byte[] bufSend = StrToHexByte(textSend);//16进制字符串转化成byte数组
            try
            {
                port.Open();
                port.Write(bufSend, 0, bufSend.Length);
                Thread.Sleep(200);

                int n = port.BytesToRead;

                if (n!=0)
                {
                    byte[] readedBytes = new byte[n];
                    port.Read(readedBytes, 0, readedBytes.Length);
                    Thread.Sleep(200);
                    if (CRCCheck(readedBytes))//CRC验证
                    {
                        foreach (byte b in readedBytes)
                        {
                            sb.Append(b.ToString("X2") + " ");
                        }
                    }
                }              
            }
            catch (Exception ex)
            {
                throw new Exception("[UpsCommunicate:][GetData-1:]"+ex.Message);
            }
            finally
            {
                if (port.IsOpen)
                {
                    port.Close();
                }
            }
            return sb.ToString();
        }
 篇幅不够,crc验证和16进制转byte数据的方法就不写了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式