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

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


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


=readBytesUntil()<ref>[https://processing.org/reference/libraries/serial/Serial_readBytesUntil_.html processing.org - readBytesUntil()]</ref>=
=readBytesUntil()<ref>[https://processing.org/reference/libraries/serial/Serial_readBytesUntil_.html processing.org - readBytesUntil()]</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">
readBytesUntil()
readBytesUntil()
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
serial.readBytesUntil(inByte)
serial.readBytesUntil(inByte)
serial.readBytesUntil(inByte, dest)
serial.readBytesUntil(inByte, dest)
Строка 33: Строка 33:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
serial – любая переменная типа Serial. Тип данных – Serial
serial – любая переменная типа Serial. Тип данных – Serial
inByte – символ, обозначающий конец считываемых данных. Тип данных – int
inByte – символ, обозначающий конец считываемых данных. Тип данных – 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">
// Скетч-пример от Тома Иго.
// Скетч-пример от Тома Иго.


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

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


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



readBytesUntil()[1]

Класс

Serial

Обозначение

readBytesUntil()

Описание

Считывает байты из порта в буфер до заданного символа (включая сам символ). Если заданного символа нет, возвращает null. Версия без параметра dest возвращает массив байтов со всеми байтами, находящимися до байта inByte (включая его самого). Это не очень эффективно, но зато просто. Версия с параметром dest работает быстрее и менее требовательна к памяти. Она считывает данные, помещает их в заданный массив байтов (dest) и возвращает значение int, обозначающее количество считанных байтов. Если буфер недостаточно велик, функция вернет «-1», а в текстовой области будет напечатано сообщение об ошибке. Если в буфере ничего нет, функция вернет «0».

Синтаксис

serial.readBytesUntil(inByte)
serial.readBytesUntil(inByte, dest)

Параметры

serial  любая переменная типа Serial. Тип данных  Serial
inByte  символ, обозначающий конец считываемых данных. Тип данных  int
dest    массив, в который нужно сохранить данные. Тип данных  byte[]

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

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

Пример

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

import processing.serial.*;

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

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

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

См.также

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