Problema de C # SerialPort DataReceived cuando se adjuntan cadenas

Tengo un método DataReceived que se activa y se envían datos desde un dispositivo RS232. Las cosas funcionan sin problemas con el siguiente código

byte[] data = new Byte[serialPort.BytesToRead];
serialPort.Read(data, 0, data.Length);
string read = System.Text.Encoding.ASCII.GetString(data);

pero si agrego una cadena después de un dato

string read = System.Text.Encoding.ASCII.GetString(data) + "asdf \n";

Los datos aún se reciben pero ocasionalmente se mostrarían incorrectamente. P.ej. si me estoy conectando a una báscula y debo leer "10.45kg asdf", se mostrará en mi computadora como "10. asdf45kg". ¿Cuál es el problema aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta