Ciao a tutti, potete spiegarmi come leggere tramite arduino una stringa inviata dal monitor seriale?
devi usare il serial.read(), però così leggi una stringa alla volta.
sta a te fare il codice. di solito si usa il come carattere di fine stringa il \n, per inviarlo in automatico quando premi invio cìè l'opzione da spuntare nel serila monitor "add newline" o qualcosa del genere
Forse lesto si è confuso, con Serial.read() leggi un carattere alla volta...
si, un carattere, infatti poi perlavo di come riunire la stringa
se ti può aiutare ti passo un stupido programmino, che riceve uan stringa (max 100 caratteri) e la stampa, a me serviva per fare una specie di protocollo seriale 8accendi, spegni ecc led via seriale).
forse ti potra essere utile.
//prova controllo acensione led via seriale
int lun =2;
void setup ()
{
delay (3000);
Serial.begin (9600);
pinMode (13, OUTPUT);
pinMode (12,OUTPUT);
Serial.println ("pronto per comunicare!");
}
void loop ()
{
char prova[100]={0};
if (Serial.available() > 0)
{
delay (250);
for (int h=0; h < lun; ++h)
prova[h]=Serial.read();
Serial.print ("Per ora ricevo ");
Serial.println (prova);
// Serial.print (prova[0]);
if (prova[0] == 'a')
{
if (prova [1]== '1')
digitalWrite (13, HIGH);
if (prova[1]=='2')
digitalWrite(12, HIGH);
}
if (prova[0]== 'b')
{
if (prova[1]== '1')
digitalWrite(13, LOW);
if (prova[1]=='2')
digitalWrite(12, LOW);
}
}
}