基本信息
源码名称:串口监控日志分析和软件调试串口数据转发
源码大小:4.02M
文件格式:.zip
开发语言:C#
更新时间:2020-05-15
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

    设备调试时,串口监控出的日志,进行数据分析,并配合软件调试,由监控到的数据转发给软件。

RecvDataGridView.Rows.Clear();
            using (OpenFileDialog dilog = new OpenFileDialog())
            {
                dilog.RestoreDirectory = true;
                dilog.FilterIndex = 1;
                dilog.Filter = @"文本文件(*.txt)|*.txt|日志文件(*.log)|*.log";
                if (dilog.ShowDialog() == DialogResult.OK)
                {
                    string openFileName = dilog.FileName;
                    string aLastName = openFileName.Substring(openFileName.LastIndexOf(".", StringComparison.Ordinal) 1, (openFileName.Length - openFileName.LastIndexOf(".", StringComparison.Ordinal) - 1)); //扩展名
                    var sr = new StreamReader(openFileName, Encoding.Default);
                    string content;
                    var adrow = new object[5];
                    LogTextBox.Clear();
                    var lineText = sr.ReadToEnd();
                    LogTextBox.AppendText(lineText);
                    LogTextBox.Select(LogTextBox.TextLength, 0);//光标定位到文本最后
                    LogTextBox.ScrollToCaret();//滚动到光标处
                    sr.BaseStream.Seek(0, SeekOrigin.Begin);
                    while ((content = sr.ReadLine()) != null)
                    {
                        if (aLastName.ToLower().Equals("txt"))
                        {
                            if (content.Contains("IRP_MJ_READ"))
                            {
                                adrow[0] = true;
                                adrow[1] = "接收";
                                var index = content.IndexOf("Length:", StringComparison.Ordinal) 8;
                                var len = content.IndexOf(",", StringComparison.Ordinal) - index;
                                adrow[2] = content.Substring(index, len);
                                index = content.IndexOf("Data:", StringComparison.Ordinal) 6;
                                len = content.Length - index;
                                adrow[3] = content.Substring(index, len);
                                adrow[4] = "发 送";
                                RecvDataGridView.Rows.Add(adrow);
                            }
                            else if (content.Contains("IRP_MJ_WRITE"))
                            {
                                adrow[0] = true;
                                adrow[1] = "发送";
                                var index = content.IndexOf("Length:", StringComparison.Ordinal) 8;
                                var len = content.IndexOf(",", StringComparison.Ordinal) - index;
                                adrow[2] = content.Substring(index, len);
                                index = content.IndexOf("Data:", StringComparison.Ordinal) 6;
                                len = content.Length - index;
                                adrow[3] = content.Substring(index, len);
                                adrow[4] = "发 送";
                                RecvDataGridView.Rows.Add(adrow);
                            }
                        }
                        else if (aLastName.ToLower().Equals("log"))
                        {
                            if (content.Contains("IRP_MJ_READ"))
                            {
                                adrow[0] = true;
                                adrow[1] = "接收";
                                var index = content.IndexOf("Length", StringComparison.Ordinal) 7;
                                var len = content.LastIndexOf(":", StringComparison.Ordinal) - index;
                                adrow[2] = content.Substring(index, len);
                                index = content.LastIndexOf(":", StringComparison.Ordinal) 2;
                                len = content.Length - index;
                                adrow[3] = content.Substring(index, len);
                                adrow[4] = "发 送";
                                RecvDataGridView.Rows.Add(adrow);
                            }
                            else if (content.Contains("IRP_MJ_WRITE"))
                            {
                                adrow[0] = true;
                                adrow[1] = "发送";
                                var index = content.IndexOf("Length", StringComparison.Ordinal) 7;
                                var len = content.LastIndexOf(":", StringComparison.Ordinal) - index;
                                adrow[2] = content.Substring(index, len);
                                index = content.LastIndexOf(":", StringComparison.Ordinal) 2;
                                len = content.Length - index;
                                adrow[3] = content.Substring(index, len);
                                adrow[4] = "发 送";
                                RecvDataGridView.Rows.Add(adrow);
                            }
                        }
                    }
                }
            }

            RecvDataGridView.ReadOnly = false;
            foreach (DataGridViewColumn c in RecvDataGridView.Columns)
            {
                if (c.Index != 0 && c.Index != 4)
                    c.ReadOnly = true;
            }