Hello. I tried a little and I would fix the problem as follows Thanks to everyone who is interested.
private void gelenData()
{
string route = indataclean(indata);
int a = 0;
foreach (char i in indata)
{
a += Convert.ToInt32(i);
}
switch (a)
{
case 6:
serialPort1.Write(ACK);
textBox7.Text += "Giden : "[ACK]\r\n";
break;
case 4: //EOT
textBox7.Text += "Gelen : " + route + "\r\n";
break;
case 5: //ENQ
textBox7.Text += "Gelen : " + route + "\r\n";
serialPort1.Write(ACK);
textBox7.Text += "Giden : "[ACK]\r\n";
break;
case 2:
serialPort1.Write(ACK);
break;
default:
textBox7.Text += "Gelen : " + route + "\r\n";
parseData();
serialPort1.Write(ACK);
textBox7.Text += "Giden : "[ACK]\r\n";
break;
}
indata = "";
}
private void SerialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] data = new byte[serialPort1.BytesToRead];
serialPort1.Read(data, 0, data.Length);
indata += Encoding.ASCII.GetString(data);
if (indata.Contains(LF) || indata.Contains(ENQ) || indata.Contains(EOT))
{
gelenData();
}
}