Serial.readBytes()

Описание

Serial.readBytes() читает символы из последовательного порта в буфер. Функция завершается, когда прочитано заданное количество символов или истёк тайм-аут (см. Serial.setTimeout()).

Serial.readBytes() наследуется от служебного класса Stream.

Синтаксис

Используйте следующую функцию для чтения символов из последовательного порта и сохранения их в буфере:

Serial.readBytes(buffer, length)

Параметры

Функция принимает следующие объекты и параметры:

  • Serial: объект последовательного порта. Список доступных последовательных портов для каждой платы см. на главной странице Serial.

  • buffer: буфер для сохранения байтов. Допустимые типы данных: массив char или byte.

  • length: количество байт для чтения. Допустимые типы данных: int.

Возвращаемое значение

Количество байт, помещённых в буфер. Значение 0 означает, что допустимые данные не были найдены. Тип данных: size_t.

Пример кода

Следующий код создаёт буфер на 5 позиций и сохраняет в нём входящие символы с последовательного порта.

char data[6];  // 5 байт + нулевой завершающий

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Send 5 characters:");
}

void loop() {
  if (Serial.available() >= 5) {
    int bytesRead = Serial.readBytes(data, 5);
    data[bytesRead] = '\0';  // завершить строку нулевым символом

    Serial.print("Received: ");
    Serial.println(data);
  }
}