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);
}
}