Analisi delle cifre.
Per leggere i numeri interi utilizziamo Serial.parseInt(), per i numeri frazionari utilizziamo Serial.parseFloat(). Un esempio che legge un numero intero e lo restituisce:
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available())
{
int val = Serial.parseInt();
Serial.println(val);
}
}
Se ottieni numeri extra durante l'analisi, imposta "Nessuna fine riga" nelle impostazioni del monitor della porta.
Noterai che dopo l'invio, ci vuole un secondo prima che la scheda risponda alla porta. Questo secondo è un timeout. Il programma attende un secondo dopo aver ricevuto l'ultimo carattere in modo che tutti i dati abbiano il tempo di arrivare. Un secondo è molto, aspettati, diciamo 50 millisecondi. Questo può essere fatto usando il metodo setTimeout().
void setup()
{
Serial.begin(9600);
Serial.setTimeout(50);
}
void loop()
{
if (Serial.available())
{
int val = Serial.parseInt();
Serial.println(val);
}
}
Ora, dopo aver inviato un numero, il programma attenderà solo 50 ms e risponderà molto più velocemente!