For an WindowForm Application i'm receiving data from an Arduino Leonardo with SerialPort. I can show my data from serial in a RichTextBox. But i want to display my data in a chart.
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (serialPort1.IsOpen)
{
serialDataIn = serialPort1.ReadLine();
listDataStr.Add(serialDataIn);
this.Invoke(new EventHandler(ShowData));
}
}
private void ShowData(object sender, EventArgs e)
{
rtbReceive.Text += serialDataIn;
Display();
}
Here i'm trying to show my data in a chart :
private void Display()
{
var graphData = chDataExp.ChartAreas[0];
graphData.AxisX.Maximum = listData.Count;
chSignal.Series.Clear();
chSignal.Series.Add("Serie1");
chSignal.Series[0].ChartType = SeriesChartType.Line;
// Add point to chart
for (int j = 0; j < listDataStr.Count; j++)
{
chSignal.Series[0].Points.AddXY(j, listDataStr[j]);
}
listDataStr.Clear();
}
I receive data from serialPort without interrupt. Maybe using a list for saving my data is not the right solution ?
I don't know how to do it in an other way.
Thanks for your answer.
A begginner in C#