Descripción
Obtiene el número de bytes (caracteres) disponibles para su lectura desde el puerto serie. Se trata de datos que ya llegaron y se almacenaron en el buffer de recepción serie (que tiene 64 bytes).
available() hereda de la clase Stream
Sintaxis
Serial.available()
Solo Arduino Mega:
Serial1.available()
Serial2.available()
Serial3.available()
Serial1.available()
Serial2.available()
Serial3.available()
Parámetros
Ninguno
Retornos
El número de bytes disponibles para leer.
Ejemplo:
int incomingByte = 0; // para los datos de entrada Aerievoid setup() {
Serial.begin(9600); // abre el puerto Serie, configura los datos a 9600 bps
}
void loop() {
// finaliza solo cuando se reciben los datos:
if (Serial.available() > 0) {
// lee el byte de entrada:
incomingByte = Serial.read();
// di lo que tienes:
Serial.print("Recibido: ");
Serial.println(incomingByte, DEC);
}
}
Ejemplo para Arduino Mega.
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
// lee el puerto 0, envia por el puerto 1:
if (Serial.available()) {
int inByte = Serial.read();
Serial1.print(inByte, BYTE);
}
// lee el puerto 1, envia por el puerto 0:
if (Serial1.available()) {
int inByte = Serial1.read();
Serial.print(inByte, BYTE);
}
}
muchas gracias Señor Manuel, la verdad me ayuda mucho su blog esta repleto de ayuda para entender mejor el potencial de Arduino
ResponderEliminarMuchas gracias Manuel, por compartir conocimientos, un cordial saludo desde Mar del Plata, Argentina.
ResponderEliminarMuchas gracias ayuda mucho para mis conocimientos de Arduino.
ResponderEliminarHola, tengo una duda.
ResponderEliminarHe visto algunos tutoriales y en algunos casos muestran esta instrucción:
if (bluetooth.available() > 0 )
y luego aparece otra instruccion pero:
if (bluetooth.available() > 2 )
Qué pasa con el valor de mayor que???
Gracias por la ayuda
Mi maestro nos pregunta por ir carácter serial.read pero lee el código y el profesor nos dice que tiene otra función ayuda
ResponderEliminarHOLA ! SOY NUEVO EN PROGRAMACIÓN ARDUINO Y ESTOY COMUNICANDO MÓDULOS XBEE CON UN ARDUINO (QUE TAMBÍEN ESTÁ CONECTADO A UN XBEE), MI DUDA RADICA EN EL CÓDIGO DE PROGRAMACIÓN EN LA COMUNICACIÓN DE DATOS SERIAL... NO LOGRO ENTENDER PORQUE INICIALIZA EL Serial.available() e EN >= 21...? ADJUNTO EL LOOP...
ResponderEliminarvoid loop() {
if (Serial.available() >= 21) {
if (Serial.read() == 0x7E) {
for (int i = 1; i<9; i++) {
byte discard = Serial.read();
se sabe que 0*7E es la inicialización de comunicación de XBEE pero porque el serial available >=21