Serial.available()
Описание
Получает количество байт (символов), доступных для чтения из последовательного порта. Это данные, которые уже получены и в данный момент находятся в приёмном буфере последовательного порта (вмещает 64 байта).
Serial.available() наследуется от служебного класса Stream.
Синтаксис
Используйте следующую функцию для получения количества доступных байт во входном буфере последовательного порта:
Serial.available()
Параметры
Функция принимает следующий объект:
Serial: объект последовательного порта. Список доступных последовательных портов для каждой платы см. на главной странице Serial.
Возвращаемое значение
Функция возвращает количество байт, доступных для чтения.
Пример кода
Следующий код возвращает символ, полученный через последовательный порт.
int incomingByte = 0; // для входящих данных с последовательного порта
void setup() {
Serial.begin(9600); // открывает последовательный порт, устанавливает скорость 9600 бит/с
}
void loop() {
// отвечать только при получении данных:
if (Serial.available() > 0) {
// прочитать входящий байт:
incomingByte = Serial.read();
// вывести то, что получили:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}
Пример с несколькими последовательными портами: Этот код пересылает данные, полученные на одном последовательном порту платы Arduino, на другой. Это можно использовать, например, чтобы подключить последовательное устройство к компьютеру через плату Arduino.
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
// прочитать с порта 0, отправить на порт 1:
if (Serial.available()) {
int inByte = Serial.read();
Serial1.print(inByte, DEC);
}
// прочитать с порта 1, отправить на порт 0:
if (Serial1.available()) {
int inByte = Serial1.read();
Serial.print(inByte, DEC);
}
}