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() > 0 antes de usar Serial.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.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker