Obtener cadena de caracteres por puerto serial

Después de una larga búsqueda por la web me encontré con mucho código que se supone te permite mandar y recibir cadenas de datos. Algunos si funcionaban, pero el código era demasiado complicado y largo.

Ahora en esta publicación les comparto el código base para cualquier aplicación que necesite de una comunicación de cadena de datos.

Código:

//Declaracion de variables
char inChar;
String string="";

//Configuracion de puerto serial y reservacion de variable string
void setup() {
  Serial.begin(9600);
  string.reserve(200);
}

void loop(){
  if (Serial.available()){
//Lectura de caracteres   
   inChar = Serial.read();
//Suma de caracteres en variable string
   string+=inChar;
   
//Imprime la variable con los caracteres acumulados hasta la ","   
   if (inChar==','){
    Serial.print("Lectura: ");
    Serial.println(string);
//Borra la variable string para almacenar nuevos datos
    string=""; 
   }
  }
  
}

Salida Serial:

Gracias por compartir.

La de veces que han comentado los nuevos problemas con el tema de la lectura serie....

Yo hecho en falta una libreria adecuada que tuviera control de timing (si empieza el envio de una trama y se para poder limpiar el trozo malo para volver a repetir) control de caracteres de comienzo y final, largo de trama, conversion de dato recibido a char, y control de paridad, verificacion de tamaño de trama ... etc..

Si alguno conoce una libreria parecida...

Yo en su momento estuve intentando hacer una libreria como dices pero se quedo en nada, consegui que me leyera por puerto serie hasta tres palabras pero ahi se quedo... Asi que muchas gracias por compartir, pero que hace el comando string.reserve(200)??

string.reserve(200) // Reserva 200 bytes de espacio para el contenido de la variable.

olle porque no puedo ver la parte e salida el serial, me interesa leerla

  • Porque seguro subió la imagen donde le ponían fecha limite.
  • Porque es un hilo de principios del 2014, y NO SE DEBE RESPONDER A HILOS CON MÁS DE 120 DÍAS DE INACTIVIDAD.

Si la entrada fuera "Hola,mundo,de,Arduino,"; esta sería la salida:

Lectura: Hola,
Lectura: mundo,
Lectura: de,
Lectura: Arduino,

Gracias Lucario por la advertencia!!

Si fuera un novato lo comprendo pero para alguien con 43 msgs me quedo sin palabras.
Ya lo dijo Lucario asi que esta mas que claro.