Skip to main content
Stack Overflow на русском

Вернуться к просмотру редакций

2 из 2
из текста удалено 42 символа

добавил проверку на наличие порта и заработало вот итоговый код

int speed = 115200;
String portName; // имя порта
import processing.serial.*;
Serial serial;
import controlP5.*;
ControlP5 cp5;
void setup() {
 size(500, 250); // размер окна
 setupGUI(); // инициализация интерфейса
}
void draw() {
 background(120); // заливаем фон 
}
 
void ledOn(){
 serial.write('n');
 delay(1000);
}
void ledOff(){
 serial.write('f');
 delay(1000);
}
// ======= ИНИЦИАЛИЗАЦИЯ ИНТЕРФЕЙСА ========
void setupGUI() {
 cp5 = new ControlP5(this);
 cp5.setFont(createFont("Calibri", 16)); // сделаем шрифт побольше
 // добавляем кнопки
 cp5.addButton("open").setPosition(90, 10).setSize(80, 30);
 cp5.addButton("close").setPosition(170, 10).setSize(80, 30).linebreak();
cp5.addButton("ledOn").setPosition(8, 180).setWidth(200).setHeight(25);
cp5.addButton("ledOff").setPosition(8, 220).setWidth(200).setHeight(25);
 // выпадающий список
 cp5.addScrollableList("com")
 .setPosition(10, 10)
 .setSize(80, 100)
 .setBarHeight(30)
 .setItemHeight(30)
 .close()
 .addItems(Serial.list()); 
 ;
}
// ==== ОБРАБОТЧИКИ ИНТЕРФЕЙСА =====
// список портов
void com(int n) {
 portName = Serial.list()[n]; // запоминаем выбранный порт в portName
}
// кнопка открыть порт
void open() {
 if (portName != null && serial == null) { // если выбран порт и сейчас он закрыт
 serial = new Serial(this, portName, speed); // открываем portName
 }
}
// кнопка закрыть порт
void close() {
 if (serial != null) { // если порт открыт
 serial.stop(); // закрываем portName
 serial = null; // serial выключен
 }
}
default

AltStyle によって変換されたページ (->オリジナル) /