Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从多个设备接收数据_C#_String_Serial Port - Fatal编程技术网

C# 从多个设备接收数据

C# 从多个设备接收数据,c#,string,serial-port,C#,String,Serial Port,我有个小问题。现在我已经编写了我的代码,它工作得非常出色,但我正在努力做得更好。 我从一个设备接收数据,但现在我将升级它以从更多设备接收数据。 为此,我制作了一个名为adress的字符串,这是应该查看的字符串。如果这个字符串是例如111222333,那么接收到的数据应该保存在图表1中。但是如果这个字符串是333AA444,那么接收到的数据应该保存在图2中 private void port_DataReceived(object sender, System.IO.Ports.Seria

我有个小问题。现在我已经编写了我的代码,它工作得非常出色,但我正在努力做得更好。 我从一个设备接收数据,但现在我将升级它以从更多设备接收数据。 为此,我制作了一个名为adress的字符串,这是应该查看的字符串。如果这个字符串是例如111222333,那么接收到的数据应该保存在图表1中。但是如果这个字符串是333AA444,那么接收到的数据应该保存在图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);
        }

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

我没有看到图表1、图表2或您在问题文本中提到的不同值的检查。你的实际问题是什么?我的问题是,当我真的想要区分更多的“地址”时,我如何编写代码。我知道我没有制作另一张图表,但这不是我的问题。事实是,在我的串行端口收到地址之前,我不知道地址。所以,我不知道,怎么说,如果地址还是一样的话,做这个,做别的,做别的。