Ошибка при сопряжении Arduino с обработкой

import processing.serial.*;
 String COM5;
Serial myPort;
String val;

void setup() {
 String portName=COM5;
 myPort= new Serial(this,portName,9600);
}
void draw() {
 if(myPort.available()>0){
   val=myPort.readStringUntil('\n');
 }
 println(val);
}

Это мой код, я скопировал с веб-сайта. когда я пытаюсь запустить это показывает

Ошибка открытия последовательного порта ноль: ноль не допускается

Я остро нуждаюсь в ответе, чтобы продвинуться вперед в моем проекте тепловидения.

2 ответа

COM5 не имеет значения в виде строки. Попробуйте это в Обработка:

import processing.serial.*;
Serial myPort;
String val;

void setup() {
  myPort= new Serial(this, "COM5", 9600);
}
void draw() {
  if (myPort.available()>0) {
    val=myPort.readStringUntil('\n');
  }
  println(val);
}

Дважды проверьте, что ваш Arduino отображается как COM5 в диспетчере устройств, и у вас не открывается последовательный монитор Arduino при запуске эскиза обработки.

Вы никогда не даете COM5 значение, так что это null, Затем вы передаете это в Serial() конструктор. Serial() конструктор не знает, что делать с null значение, так что вы получите ошибку.

Пожалуйста, сделайте шаг назад и прочитайте учебник по использованию библиотеки Serial. Официальная документация содержит пример кода, который использует Serial() конструктор правильно.

Другие вопросы по тегам