Hola a todos, estoy enviando desde un Arduino UNO a un Nano via "Serial.print()" una cadena de caracteres:
En el Arduino UNO (Emisor):
Serial.print("S.Ar: ");
Serial.print(analogSensor1);
Serial.print(" D");
Serial.print(deltalive1);
Serial.print(",S.Ab: ");
Serial.print(analogSensor2);
Serial.print(" D");
Serial.print(deltalive2);
En el Nano (Receptor):
String dato = Serial.readStringUntil('\n');
asi, leo el String completo y lo guardo en la variable dato.
Hasta ahi, todo OK, puedo incluso hacer un "
Serial.print(dato);
" y me muesta el String recibido por Monitor Serial.
El problema es que el String "dato", necesito partirlo en dos variables. Tiene un caracter delimitador ","
He probado con esta funcion:
char parte1[32], parte2[32];
strcpy(parte1, strtok(dato, ","));
strcpy(parte2, strtok(NULL, ","));
printf("%s\n", parte1);
printf("%s\n", parte2);
pero me arroja como error "cannot convert 'String' to 'char*' for argument '1' to 'char* strtok(char*, const char*)'"
He buscado otros codigos diferentes para convertir String a char, pero no he encontrado.
Tambien he probado leer directamente el Serial enviado por el Arduino UNO con:
unsigned char dato= Serial.read();
Pero ahi la variable dato se me transforma en un "255" y deja de ser texto.
Alguien podria ayudarme un poco?
Muchas gracias de antemano!