Serial.peek()

Описание

Возвращает следующий байт (символ) входящих данных последовательного порта, не удаляя его из внутреннего буфера. То есть последовательные вызовы peek() будут возвращать один и тот же символ — как и следующий вызов read().

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

Синтаксис

Serial.peek()

Параметры

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

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

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

Функция возвращает первый байт входящих данных последовательного порта (или -1, если данные недоступны). Тип данных: int.

Пример кода

Следующий код подсматривает, что приходит по последовательному порту, и затем выводит это:

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

  Serial.println("Type something:");
}

void loop() {
  if (Serial.available()) {
    char nextChar = Serial.peek();  // посмотреть следующий символ
    Serial.print("Next character will be: ");
    Serial.println(nextChar);

    char actualChar = Serial.read();  // теперь действительно прочитать его
    Serial.print("Read character: ");
    Serial.println(actualChar);
  }
}