Seriale.setTimeout () - Arduino
Il seriale.La funzione setTimeout () in Arduino viene utilizzata per impostare il tempo massimo in millisecondi che il programma attende i dati seriali. Per impostazione predefinita, il timeout impostato è di 1000 millisecondi. Il seriale.La funzione setTimeout () proviene dalla classe di flusso in Arduino, che fornisce una serie di modi comuni per lavorare con input/output.
Il seriale.La funzione setTimeout () è utile quando si lavora con connessioni lente o inaffidabili.
Sintassi
La sintassi per seriale.La funzione setTimeout () è:
Seriale.setTimeout (ora)
Parametri
Per usare seriale.setTimeout (), è necessario fornire l'oggetto porta seriale come primo parametro e la durata del timeout in millisecondi come secondo parametro. La durata può essere espressa come un tipo di dati lungo.
Il valore del periodo di timeout è in millisecondi (MS). Questo valore di timeout è lungo senza segno che parte da 1 e arriva fino a 4294967295 millisecondi.
ritorna
Questa funzione non restituisce alcun valore.
Seriale.getTimeout () - Arduino
Il seriale.La funzione getTimeout () restituisce l'attuale periodo di timeout per la comunicazione seriale. Può essere utilizzato per determinare il periodo di timeout corrente o per ripristinare il periodo di timeout predefinito.
Sintassi
La sintassi per seriale.La funzione getTimeout () è:
Seriale.gettimeout (ora);
Parametri
Questa funzione non richiede parametri.
ritorna
Questa funzione restituisce il valore di timeout impostato che è per impostazione predefinita 1000 ms e può essere modificata utilizzando il seriale.getTimeout (). Il tipo di dati di restituzione è senza segno a lungo.
Codice di esempio
Nel seguente esempio, otteniamo il periodo di timeout corrente utilizzando il seriale.funzione gettimeout (). Quindi stampiamo il periodo di timeout sul monitor seriale. Successivamente, abbiamo cambiato il periodo di timeout a 5 sec e poi abbiamo stampato di nuovo sul monitor seriale.
void setup ()
Seriale.Inizia (9600); // Inizializza la comunicazione seriale a 9600 bit al secondo
tempo default a lungo non firmato = seriale.getTimeout (); // Ottieni il periodo di timeout predefinito
Seriale.print ("Il periodo di timeout predefinito è:");
Seriale.println (defaultimeout); // Stampa il periodo di timeout predefinito al monitor seriale
Seriale.setTimeout (5000); // Imposta il periodo di timeout su 5000 millisecondi (5 secondi)
Timeout a lungo non firmato = seriale.getTimeout (); // Ottieni l'attuale periodo di timeout
Seriale.print ("Il periodo di timeout corrente è:");
Seriale.println (timeout); // Stampa il periodo di timeout corrente al monitor seriale
void loop ()
Nel codice sopra il file impostare() La funzione inizializza la comunicazione seriale a 9600 bit al secondo e ottiene il periodo di timeout predefinito utilizzando il seriale.funzione gettimeout (). Il periodo di timeout predefinito viene quindi visualizzato sul monitor seriale.
Successivamente, il seriale.La funzione setTimeout () viene utilizzata per impostare il nuovo periodo di timeout a 5 secondi (5000 millisecondi).
La funzione Loop () recupera quindi il periodo di timeout corrente utilizzando il seriale.gettimeout () funzione e la visualizza sul monitor seriale. Viene aggiunto un ritardo di 1 secondo prima di stampare il valore successivo per evitare che il monitor seriale venga inondato di dati. Questo codice può essere utilizzato per verificare che il periodo di timeout sia impostato correttamente e che il seriale.La funzione getTimeout () funziona come previsto.
Produzione
Nell'output possiamo vedere sia il timeout predefinito che il nuovo timeout è stampato sul monitor seriale.
Conclusione
IL Seriale.setTimeout () E Seriale.getTimeout () Le funzioni sono importanti funzioni di utilità nella lingua Arduino. Seriale.setTimeout () imposta il tempo massimo in millisecondi che il programma attende i dati seriali, mentre seriale.getTimeout () recupera il periodo di timeout corrente. Queste funzioni sono utili per lavorare con dispositivi esterni che potrebbero non fornire sempre dati all'interno di un periodo di tempo specifico.