Arduino:Справочник языка Arduino/Библиотеки/Serial/available()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Перевел 364226 статей для сайта.</br>Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция available()[1]

Описание

Эта функция получает информацию о числе байтов (символов), доступных для считывания через последовательный порт. Это данные, которые уже пришли и хранятся в буфере последовательного порта (который может хранить до 64 байтов). Функция .available() наследует от вспомогательного класса Stream.

Синтаксис

Serial.available()
Serial1.available(), Serial2.available(), Serial3.available()  только для Mega

Параметры

Нет.

Что возвращает

Число байтов, доступных для считывания.

Пример

 1 int incomingByte = 0;   // для данных, приходящих через последовательный порт
 2 
 3 void setup() {
 4         Serial.begin(9600);     // открывает последовательный порт, задает скорость передачи данных на 9600
 5 }
 6 
 7 void loop() {
 8 
 9         // Отправляем данные, только если получили данные:
10         if (Serial.available() > 0) {
11                 // Считываем входящий байт:
12                 incomingByte = Serial.read();
13 
14                 // Отображаем на Serial Monitor то, что получили:
15                 Serial.print("I received: ");  //  "Я получил: "
16                 Serial.println(incomingByte, DEC);
17         }
18 }
19 Пример для Arduino Mega
20 void setup() {
21   Serial.begin(9600);
22   Serial1.begin(9600);
23 
24 }
25 
26 void loop() {
27   // Считываем с 0-ого порта, отсылаем на 1-ый порт:
28   if (Serial.available()) {
29     int inByte = Serial.read();
30     Serial1.print(inByte, BYTE); 
31 
32   }
33   // Считываем с 1-ого порта, отсылаем на 0-ой порт:
34   if (Serial1.available()) {
35     int inByte = Serial1.read();
36     Serial.print(inByte, BYTE); 
37   }
38 }

См.также

Внешние ссылки