Seri port üzerinden C# üzerinden veri okumaktayım ve bunları dataGridView e yazdırmaktayım. Fakat bi sorun mevcut program çalışırken verileri alıyor ama mesela gelenveri[1] 1. sutunda gelenveri2[1] 2. sutunda zaman bilgisi 3. sutunda yer alması gerekiyor. Program ise şöyle çalışıyor;
gelenveri[1] i alıyor yazıyor zaman bilgisini yazıyor ortasını boş bırakıyor ve hemen aynı zamanda gelenveri2[1] alıyor bialt satıra ekleyerek kayma meydana geliyor.
not : thread kullandım.
datagridview olması gereken veri şu şekilde
gelenveri[1] gelenveri2[1] zamanbilgisi
serialPort1.DataReceived += new SerialDataReceivedEventHandler(seri_port_oku1); serialPort2.DataReceived += new SerialDataReceivedEventHandler(seri_port_oku2);
private void seri_port_oku1(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadLine();
if (indata != "" || indata != null)
{
string[] gelenveri = indata.Split(',');
dataGridView1.Rows.Add(gelenveri[1], "", saat.Text);
}
}
private void seri_port_oku2(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadLine();
if (indata != "" || indata != null)
{
string[] gelenveri2 = indata.Split(',');
dataGridView1.Rows.Add(null, gelenveri2[1], null);
}
} void goster1()
{
while (true)
{
serialPort1.Write("AA" + "\r\n");
serialPort2.Write("AA" + "\r\n");
System.Threading.Thread.Sleep(1000);
if (tiklama.Text == "0")
break;
}
}
private void seri_port_data_gonder()
{
try
{
if (serialPort1.IsOpen && serialPort2.IsOpen)
{
Thread thread = new Thread(new ThreadStart(goster1));
if (tiklama.Text == "1")
{
thread.Start();
}
}
}
catch (Exception)
{
MessageBox.Show("Sonuç: Başarısız !", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button3);
}
}
seri_port_data_gonder();