来自多个设备的Datareceive

时间:2014-12-09 10:28:12

标签: c# string serial-port

我有一个小问题。现在我已经编写了我的代码,它运行良好,但我正在努力做得更好。 我从设备接收数据,但现在我将升级它以从更多设备接收数据。 为此,我创建了一个名为adress的字符串,这是应该查看的字符串。如果此字符串是例如111222333,则接收的数据应该在图表1中存储。但是如果此字符串是例如333aaa444,则接收的数据应该在图表2中存储。

    private void port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
        try
        {
            recievdata = SerialPort.ReadExisting();
            string adress = recievdata.Substring(7, 16);

            this.Invoke(new EventHandler(DisplayText));

            using (Stream stream2 = File.Open(path, FileMode.Append))
            using (StreamWriter sWriter1 = new StreamWriter(stream2))
            {
                if (adress )
                if (recievdata.Contains("UCAST") && recievdata.Contains("=g"))
                {
                    sWriter1.Write(DateTime.Now.ToString("HH:mm:ss"));
                    sWriter1.Write(" ; ");
                    sWriter1.WriteLine(1);

                    if (SleepMovChar.InvokeRequired)
                    {
                        SleepMovChar.Invoke(new MethodInvoker(delegate
                        { SleepMovChar.Series["Bevægelse"].Points.AddXY(DateTime.Now.ToString("HH:mm:ss"), 1); }));
                        SleepMovChar.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
                    }
                }
                else
                {
                    timer1.Tick += new EventHandler(timer1_Tick);
                }
            }
        }

        catch (Exception Ex)
        {
            MessageBox.Show(Ex.Message);
        }

    }
希望你能帮助我。 感谢。

0 个答案:

没有答案