Serial.available()
Serial.available()
Quando alguém envia dados pro Arduino (pelo Monitor Serial ou outro dispositivo), esses bytes ficam guardados num buffer. O Serial.available() te diz quantos bytes estão lá esperando. É o porteiro que você consulta antes de tentar ler algo.
Sintaxe
Serial.available();
Parâmetros
Nenhum.
Retorno
Retorna o número de bytes disponíveis para leitura (int). Se não chegou nada, retorna 0.
Exemplo
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
char c = Serial.read();
Serial.print("Recebi: ");
Serial.println(c);
}
}
Notas e cuidados
- Sempre teste
Serial.available() > 0antes de usarSerial.read()— ler o buffer vazio devolve-1. - O buffer de recepção do Uno tem 64 bytes; se você não ler a tempo, os dados mais novos podem ser descartados.
- Ele só conta o que ainda não foi lido; cada
read()que você faz diminui esse número.