He intentado usar Readline() y se eliminan los datos, traté de usar Read() pero no estoy seguro de cómo tener un método de prueba de errores, ya que puedo obtener varios paquetes uno tras otro y no tengo forma de saber que va a haber otro paquete entrando. Entre paquetes, BytesToRead es 0, así que no puedo usarlo. Cuando lee datos en el búfer, ¿tiene un temporizador o pone el hilo en modo de suspensión para permitir que lleguen todos los paquetes?Lectura desde el puerto serie en C#
Estoy perdido. No sé qué probar después.
Debo mencionar que no tengo garantía de que la cadena que sale del puerto serie termine con \ n o \ r o \ r \ n. Simplemente necesito una forma infalible de leer TODOS los paquetes que vendrán de la báscula cuando el usuario presione IMPRIMIR en ella.
Alguien respondió aquí con la idea que me gustaba, esperando una cierta cantidad de tiempo para todos los paquetes, pero ellos borraron su respuesta. ¿Alguna posibilidad de que puedas volver a publicarlo?
No hay ninguna garantía de que los datos realmente leídos en el puerto serie es serialPort.BytesToRead. Sugeriría verificar el valor de retorno de serialPort.Read. – Roger