Estoy empezando a construir mi primer proyecto Arduino pero tengo algunos problemas con la comunicación en serie.
Obtengo datos en serie de la consola y los guardo en una matriz de caracteres llamada "datos" .
Luego, cuando envío un nuevo mensaje de consola al Arduino, quiero que borre la matriz de "datos" existente y almacene solo los datos nuevos en esa matriz.
Yo no entiendo exactamente qué está mal con mi código: creo que esas declaraciones Serial.available () anidadas no funcionan, pero no tengo ideas sobre cómo arreglar el código.
Los datos están almacenados correctamente por el Arduino pero concatena la cadena más nueva con la anterior.
int count = 0; char data [30]; boolean dataComplete = false; void setup () {Serial.begin (9600); } bucle vacío () {if (Serial.available () > 0) {if (dataComplete == true) {Serial.println ("Ya hay datos, borrando ..."); datos de char [30]; dataComplete = falso; } if (dataComplete == false) {Serial.println ("Nuevo comando, recopilando ..."); while (Serial.available () >0) {carácter char = Serial.read (); datos [cuenta] = carácter; contar ++; } dataComplete = true; }} Serial.print ("Comando recibido:"); Serial.println (datos); delay (1000);}
¡Gracias de antemano!