Ардуино. Функции Serial.readBytes() и Serial.readBytesUntil().
- Serial.readBytes() считывает несколько байтов из полученного буфера в массив символов (также называемый буфером).
Функция readBytes () завершается двумя событиями: либо когда считывает указанное количество байтов, либо по истечении времени ожидания.
- Serial.readBytesUntil() считывает буфер до тех пор, пока не получит завершающий символ.
Функция readBytesUntil () ожидает завершающего символа, указанного количества байтов или завершения времени ожидания.
Arduino Serial Read Bytes Function – Serial.readBytes()
- Функция Arduino Serial.readBytes () считывает несколько байтов из полученного буфера в массив символов (также называемый буфером).
- Функция readBytes считывает указанное количество байтов в указанной переменной из последовательного буфера.
- Функция возвращает целочисленное значение, которое указывает, сколько байт успешно прочитано в переменной.
- Функция readBytes () ожидает "тайм-аут". По умолчанию он составляет одну секунду.
- Функция readBytes () завершается двумя событиями: либо когда считывает указанное количество байтов, либо по истечении времени ожидания.
Функция Serial.find () после теста очищает буфер последовательного приема.
Arduino readBytes
Синтаксис функции Serial.readBytes function
Функция требует двух вещей: имя переменной для чтения и количество байтов для чтения.
Переменная x будет содержать прочитанные байты, а readData будет содержать полученную строку.
Функция Serial.readBytes () используется для проверки того, получено ли целевое слово или строка.
Как работает функция Serial.readBytes ()
Функция непрерывно считывает полученные данные из буфера и, если получено целевое число символов, возвращается с номером символа. Если число прочитанных символов меньше указанного числа, а время ожидания истекло, то будет возвращено количество символов, которое меньше целевой длины.
Если целевое число или длина не будут получены в течении одной секунды (тайм-аут), то оно вернется с меньшим количеством символов.
Внимание: время ожидания по умолчанию - одна секунда. Его можно изменить с помощью функции Serial.setTimeout ().
Пример Arduino readBytes
В этом небольшом коде мы отправим некоторые данные с последовательного монитора и вернем обратно те же данные с количеством прочитанных байтов.
Example 1 – Код функции Serial.readBytes () для обратной связи с ПК (последовательный монитор).
В приведенном ниже примере мы сначала отправили три байта «123», а затем отправили 6 символов «123456». В противном случае он покажет цифры «0» и те же самые предыдущие данные.
Примечание: если вы отправите менее 10 символов, в буферной переменной также будут показаны некоторые предыдущие данные.
Arduino Serial Read Bytes Until Function – readBytesUntil
Как только функция получит завершающий символ, она вернется с числом, зависящим от того, сколько символов было получено до завершения символа. Синтаксис функции Serial.readBytesUntil
Как работает функция readBytesUntilФункция постоянно читает полученные данные и сохраняет их в предоставленной переменной. Условия завершения функции
Во всех трех случаях функция Serial.readBytesUntil () возвращает количество символов, прочитанных в буфере.
В приведенном ниже примере мы сначала отправили три байта «abc», а затем 6 символов «123456». В противном случае он покажет цифры «0» и те же самые предыдущие данные. |