Buenas,
Estoy comunicando dos Arduinos mediante puerto serie y un modulo RS448 de modo simplex.
En el Arduino Master envió datos de 0 a 250 mediante Serial.println().
En el Slave recibo mediante el siguiente código
#define DEBUG(a) Serial.println(a);
int Dato;
void setup()
{
Serial.begin(19200); //19200
}
void loop()
{
String str = Serial.readStringUntil('\n');
int data = str.toInt();
DEBUG(data); //////lo utilizo para monitorear que información llega desde el serie ( es importante esta linea al comienzo: #define DEBUG(a) Serial.println(a);)
Dato = data;
}
Necesito recibir el valor Dato en int.
Lo esta haciendo actualmente, pero noto la recepción muy lenta, al monitorizarlo veo que demora casi un segundo por recepción.
Una recomendación, huye de readstringuntil y llamadas de ese tipo. mejor usar, como te ha comentado Surbyte, read directamente y hacerte un bucle. Así podrás controlar mejor qué te llega y cómo te llega y podrás enviar bytes o enteros en vez de cadenas.
Saludos.