Devuelve el número de bytes (caracteres) disponibles para ser leidos por el puerto serie. Se refiere a datos ya recibidos y disponibles en el buffer de recepción del puerto (que tiene una capacidad de 128 bytes).
Serial.available()
Sólo para Arduino Mega:
Serial1.available()
Serial2.available()
Serial3.available()
ninguno
el número de bytes disponibles para ser leídos
int incomingByte = 0; // para los datos de entrada serie
void setup() {
Serial.begin(9600); // abre el puerto serie, establece la velocidad a 9600 bps
}
void loop() {
// envía datos solo cuando recibe datos:
if (Serial.available() > 0) {
// lee el byte de entrada:
incomingByte = Serial.read();
// muestra lo que tiene:
Serial.print("He recibido: ");
Serial.println(incomingByte, DEC);
}
}
Ejemplo Arduino Mega:
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
// lee desde el puerto 0, envía al puerto 1:
if (Serial.available()) {
int inByte = Serial.read();
Serial1.print(inByte, BYTE);
}
// lee del puerto 1, envía al puerto 0:
if (Serial1.available()) {
int inByte = Serial1.read();
Serial.print(inByte, BYTE);
}
}