Inserire le credenziali per la connessione wifi dal monitor seriale

gpb01:
... spesso la Serial.available() è più veloce della ricezione stessa e ...

Cioè available() potrebbe tornare false tra un byte ricevuto e il successivo!?
La mia esperienza è alquanto limitata, ma sono perplesso!

Federico

Federico66:
Cioè available() potrebbe tornare false tra un byte ricevuto e il successivo!?
La mia esperienza è alquanto limitata, ma sono perplesso!

SI, e capita anche spesso, specie se la trasmissione seriale non è delle più veloci …

… basta che calcoli il tempo che impiega un carattere ad arrivare (… a 9600 bps impiega cira 1 mSec che … è un’eternità :smiley:) ed il tempo di esecuzione del while() … se il secondo è inferiore del primo, tu vai a fare il controllo quando il carattere NON è ancora arrivato e quindi available() ti da, giustamente, 0 (… nessun carattere disponibile).

Guglielmo

gpb01:
SI, e capita anche spesso, specie se la trasmissione seriale non è delle più veloci ...

Non posso che accettarlo come atto di fede :slight_smile:

Federico

Federico66:
Non posso che accettarlo come atto di fede :slight_smile:

Assolutamente NO, ragiona su quello che fai nel while() e a quante decine di µSec dura, dopo pensa che per ricevere un solo carattere a 9600 impieghi 1 mSec ... ti rendi conto che fino a quando il carattere non è completamente ricevuto e spostato nel buffer di ricezione (che è quello che la available() ti da) ... tu NON hai nulla e quindi, giustamente, available() ritorna 0.

Ovvio che se hai un ciclo while() la cui durata è talmente lunga da superare il tempo di ricezione del singolo carattere più il tempo del suo spostamento nel buffer di ricezione ... allora funziona ... ma è un caso :smiley:

Guglielmo

gpb01:
Assolutamente NO, ragiona ...

era una battuta, avevo già capito al tuo primo post :slight_smile:
ma finora non mi è capitato di riscontrare il problema, forse proprio per il seguente motivo:

gpb01:
Ovvio che se hai un ciclo while() la cui durata è talmente lunga da superare il tempo di ricezione del singolo carattere più il tempo del suo spostamento nel buffer di ricezione ... allora funziona ... ma è un caso :smiley:

Comunque al prossimo progetto ci farò attenzione.

Grazie

Federico

Federico66:
era una battuta, avevo già capito al tuo primo post :slight_smile:

Guglielmo

Ringrazio Guglielmo per le dritte che mi ha dato e corro subito a mettere apposto il codice. Poi vado a studiarmi un po gli array visto che questo è il primo progetto che faccio dove sono costretto ad usarli.

Grazie a tutti