Go Down

Topic: Stringa dal monitor seriale (Read 985 times) previous topic - next topic

Mark116

Ciao a tutti, potete spiegarmi come leggere tramite arduino una stringa inviata dal monitor seriale?

lesto

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
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

Dario Gogliandolo

Forse lesto si è confuso, con Serial.read() leggi un carattere alla volta...
"Se una cosa sembra troppo bella per essere vera, semplicemente... non è vera!"
Video demonstration of my DIY Dashboard OBDII

lesto

si, un carattere, infatti poi perlavo di come riunire la stringa
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

Martinix

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.

Code: [Select]

//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);
    }
  }

 
}
Le informazioni date, son suggerimenti, osservazioni, ma come le applicate è a vostro rischio e pericolo!

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy