当我尝试访问我使用计数器变量提供实时数据的列表时,我收到了 ArgumentOutofRangeException。这是我的部分代码
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadExisting();
RxString = RxString.Replace("$", "");
this.Invoke(new EventHandler(DisplayText));
}
private void DisplayText(object sender, EventArgs e)
{
richTextBox1.AppendText(RxString);
parsed(ref ctr);
richTextBox2.Text = String.Join(Environment.NewLine, stringList);
}
public void parsed(ref int ctr)
{
string line;
line = richTextBox1.Text;
stringList= new List<String(line.Split(','));
displayval(ref int ctr);
}
public void displayval(ref int ctr)
{
line = RxString;
stringList= new List<String>(line.Split(','));
richTextBox3.AppendText("\n Pressure:" + stringList[ctr]);
ctr++;
richTextBox3.AppendText("\n Accelerometer:" + stringList[ctr]);
ctr++;
richTextBox3.AppendText("\n Temperature:" + stringList[ctr]);
ctr++;
richTextBox3.AppendText("\n Height:" + stringList[ctr]);
ctr++;
}
我从 Arduino 获得实时串行输入,我想解析 CSV 值,该值类似于 $1032,432,541,145。
我能够将其解析为单个值,但后来我无法使用 ctr 访问列表。我是 C# 新手,因此非常感谢您的帮助。