Processing:Библиотеки/Serial/Класс Serial/readBytes(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=readBytes()<ref>[https://processing.org/reference/libraries/serial/Serial_readBytes_.html processing.org - readBytes()]</ref>=
=readBytes()<ref>[https://processing.org/reference/libraries/serial/Serial_readBytes_.html processing.org - readBytes()]</ref>=
Строка 10: Строка 10:
==Класс==
==Класс==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Serial
Serial
</syntaxhighlight>
</syntaxhighlight>
Строка 16: Строка 16:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
readBytes()
readBytes()
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
serial.readBytes()
serial.readBytes()
serial.readBytes(max)
serial.readBytes(max)
Строка 34: Строка 34:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
serial – любая переменная типа Serial. Тип данных – Serial
serial – любая переменная типа Serial. Тип данных – Serial
max    – максимальное количество байтов для считывания. Тип данных – int
max    – максимальное количество байтов для считывания. Тип данных – int
Строка 41: Строка 41:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Тип данных – byte[] или int.
Тип данных – byte[] или int.
</syntaxhighlight>
</syntaxhighlight>
Строка 47: Строка 47:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
// Скетч-пример от Тома Иго.
// Скетч-пример от Тома Иго.


Строка 96: Строка 96:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Текущая версия от 11:56, 20 мая 2023


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



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

См.также

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