カウンター変数を使用してリアルタイム データをフィードするリストにアクセスしようとすると、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 からリアルタイムのシリアル入力を取得しています。$1032,432,541,145 のような CSV 値を解析したいと考えています。
それを単一の値に解析することはできますが、後で ctr を使用してリストにアクセスできません。私はC#が初めてなので、助けていただければ幸いです。