Esta página também está disponível em outros 2 idiomas.

Serial.available()

Descrição

Retorna o número de bytes (caracteres) disponíveis para leitura da porta serial. Esses são dados que já chegaram e foram guardados no buffer de recebimento (o qual armazena 64 bytes).

A função Serial.available() é herdada da classe Stream.

Sintaxe

Serial.available()

Parâmetros

Serial: objeto porta serial. Veja a lista de portas seriais disponíveis em cada placa no Serial - Página principal

Retorna

O número de bytes disponíveis para leitura.

Código de Exemplo

O código abaixo devolve um caractere recebido na porta serial.

int incomingByte = 0; // para  dados recebidos na porta serial

void setup() {
  Serial.begin(9600); // abre a porta serial, taxa de transmissão 9600 bps
}

void loop() {

  // enviar resposta apenas quando receber dados:
  if (Serial.available() > 0) {
    // lê o dado recebido:
    incomingByte = Serial.read();

    // responder o que foi recebido:
    Serial.print("Eu recebi: ");
    Serial.println(incomingByte, DEC);
  }
}

O código abaixo transfere os dados de uma porta serial do Arduino Mega para outra. Isso pode ser usado para conectar um dispositivo serial ao computador através da placa Arduino.

Exemplo para o Arduino Mega:

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // Lê da porta 0, envia para porta 1:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.print(inByte, DEC);
  }
  // Lê da porta 1, envia para porta 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.print(inByte, DEC);
  }
}

Ver também

LINGUAGEM begin()
LINGUAGEM end()
LINGUAGEM read()
LINGUAGEM peek()
LINGUAGEM flush()
LINGUAGEM print()
LINGUAGEM println()
LINGUAGEM write()
LINGUAGEM SerialEvent()
LINGUAGEM Stream.available()