Processing:Библиотеки/Serial/Обработчик событий последовательного порта/serialEvent()
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
serialEvent()[1]
Обозначение
serialEvent()
Описание
Вызывается, если у порта есть данные для считывания. Для считывания этих данных используйте функции вроде read(). При использовании buffer() функция serialEvent() будет вызвана, если в буфер будет считано заданное количество байтов. При использовании bufferUntil() функция serialEvent() будет вызвана, если в буфер будет считан заданный символ. Параметр whichPort отвечает за название порта, где можно прочесть новые данные, но он нужен только, если у вас открыто более одного последовательного соединения и вам нужно отличить одно от другого.
Синтаксис
void serialEvent(Serial whichPort) {
statements
}
Параметры
whichPort – порт, на котором есть данные для считывания. Тип данных – Serial
statements – какой-либо код, который нужно запустить
Возвращаемое значение
void
Пример
// Скетч-пример от Тома Иго.
import processing.serial.*;
Serial myPort; // последовательный порт
PFont myFont; // шрифт, который будет нарисован на экране
String inString; // строка, присланная через последовательный порт
int lf = 10; // перевод строки в кодировке ASCII
void setup() {
size(400,200);
// вам нужно создать этот шрифт в PDE
// при помощи инструмента Tools > Create Font...
myFont = loadFont("ArialMS-18.vlw");
textFont(myFont, 18);
// печатаем список всех доступных последовательных портов:
printArray(Serial.list());
// я знаю, что на моем Mac первый последовательный порт в списке –
// это всегда переходник Keyspan, поэтому открываю Serial.list()[0];
// вы можете открыть любой порт по своему усмотрению:
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.bufferUntil(lf);
}
void draw() {
background(0);
text("received: " + inString, 10,50);
// "получено: "
}
void serialEvent(Serial p) {
inString = p.readString();
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |