Processing:Библиотеки/Serial/Класс Serial/readBytes()

Материал из Онлайн справочника
Версия от 11:56, 20 мая 2023; EducationBot (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



readBytes()[1]

Класс

Serial

Обозначение

readBytes()

Описание

Считывает группу байтов из буфера или null, если в буфере ничего нет. Версия без параметров возвращает массив байтов со всеми данными из буфера. Это не слишком эффективно, но зато просто. Версия с параметром byteBuffer работает быстрее и менее требовательна к памяти. Она считывает данные в буфере, помещает их в заданный массив байтов и возвращает значение int, хранящее количество считанных байтов. Если в буфере больше данных, чем может уместиться в массиве byteBuffer, функция прочтет только те, что вместятся в него.

Синтаксис

serial.readBytes()
serial.readBytes(max)
serial.readBytes(dest)

Параметры

serial  любая переменная типа Serial. Тип данных  Serial
max     максимальное количество байтов для считывания. Тип данных  int

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

Тип данных  byte[] или int.

Пример

// Скетч-пример от Тома Иго.

import processing.serial.*;

Serial myPort;  // последовательный порт

void setup() {
  // печатаем список всех доступных последовательных портов:
  printArray(Serial.list());
  // открываем используемый порт на нужной скорости:
  myPort = new Serial(this, Serial.list()[0], 9600);
}

void draw() {
  // увеличиваем размер массива до нужного количества байтов:
  byte[] inBuffer = new byte[7];
  while (myPort.available() > 0) {
    inBuffer = myPort.readBytes();
    myPort.readBytes(inBuffer);
    if (inBuffer != null) {
      String myString = new String(inBuffer);
      println(myString);
    }
  }
}

См.также

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