Arduino:Справочник языка Arduino/Библиотеки/Serial/available()
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция available()[1]
Описание
Эта функция получает информацию о числе байтов (символов), доступных для считывания через последовательный порт. Это данные, которые уже пришли и хранятся в буфере последовательного порта (который может хранить до 64 байтов). Функция .available() наследует от вспомогательного класса Stream.
Синтаксис
Serial.available()
Serial1.available(), Serial2.available(), Serial3.available() — только для Mega
Параметры
Нет.
Что возвращает
Число байтов, доступных для считывания.
Пример
int incomingByte = 0; // для данных, приходящих через последовательный порт
void setup() {
Serial.begin(9600); // открывает последовательный порт, задает скорость передачи данных на 9600
}
void loop() {
// Отправляем данные, только если получили данные:
if (Serial.available() > 0) {
// Считываем входящий байт:
incomingByte = Serial.read();
// Отображаем на Serial Monitor то, что получили:
Serial.print("I received: "); // "Я получил: "
Serial.println(incomingByte, DEC);
}
}
Пример для Arduino Mega
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
// Считываем с 0-ого порта, отсылаем на 1-ый порт:
if (Serial.available()) {
int inByte = Serial.read();
Serial1.print(inByte, BYTE);
}
// Считываем с 1-ого порта, отсылаем на 0-ой порт:
if (Serial1.available()) {
int inByte = Serial1.read();
Serial.print(inByte, BYTE);
}
}