C# 从多个设备接收数据
我有个小问题。现在我已经编写了我的代码,它工作得非常出色,但我正在努力做得更好。 我从一个设备接收数据,但现在我将升级它以从更多设备接收数据。 为此,我制作了一个名为adress的字符串,这是应该查看的字符串。如果这个字符串是例如111222333,那么接收到的数据应该保存在图表1中。但是如果这个字符串是333AA444,那么接收到的数据应该保存在图2中C# 从多个设备接收数据,c#,string,serial-port,C#,String,Serial Port,我有个小问题。现在我已经编写了我的代码,它工作得非常出色,但我正在努力做得更好。 我从一个设备接收数据,但现在我将升级它以从更多设备接收数据。 为此,我制作了一个名为adress的字符串,这是应该查看的字符串。如果这个字符串是例如111222333,那么接收到的数据应该保存在图表1中。但是如果这个字符串是333AA444,那么接收到的数据应该保存在图2中 private void port_DataReceived(object sender, System.IO.Ports.Seria
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或您在问题文本中提到的不同值的检查。你的实际问题是什么?我的问题是,当我真的想要区分更多的“地址”时,我如何编写代码。我知道我没有制作另一张图表,但这不是我的问题。事实是,在我的串行端口收到地址之前,我不知道地址。所以,我不知道,怎么说,如果地址还是一样的话,做这个,做别的,做别的。