Processing:Библиотеки/Serial/Класс Serial/readBytesUntil()
Материал из Онлайн справочника
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
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);
}
}
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |