Проблемы с подключением к последовательному порту Arduino с использованием обработки - PullRequest
0 голосов
/ 14 февраля 2019

Прежде всего, я знаю, что этот вопрос задавали много, но я не могу найти ответ, который решает мою проблему.Поэтому, когда я пытаюсь использовать обработку для записи данных на последовательный монитор Arduino, он говорит, что порт (в моем случае «com3») занят.Я понятия не имею, чем он может быть занят, потому что я уже установил задержку при чтении последовательного монитора.

Код Arduino:

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
 //  Serial.println("started");
 //  Serial.println();
}

void loop() {
   if(Serial.available()){
      char ch = (char) Serial.read();
      Serial.println(ch);
      ch = "";
      delay(100);
}

Код обработки:

import processing.serial.*;

Serial sPort;
String port;

void setup() {
  port = Serial.list()[0];
  sPort = new Serial(this, port, 9600);
  //port.write("hey, its working");
}

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

Заранее спасибо

1 Ответ

0 голосов
/ 15 февраля 2019

Кажется, что вы пытаетесь получить доступ к последовательному порту из запущенного эскиза обработки в то же время, что и из последовательного монитора Arduino.

Важно отметить, что последовательный монитор Arduino IDE сам по себепроцесс, который связывается с вашим Arduino.Arduino не может одновременно разговаривать с Serial Monitor и другой Программой.

Но вы на полпути, чтобы контролировать то, что говорит ваш Arduino.Используйте обработку вместо.Вы уже отправляете сообщение обратно.Все, что вам нужно сделать, это зарегистрировать входящие последовательные сообщения в вашем приложении обработки.

Просто добавьте это в свой цикл рисования обработки:

if (sPort.available() > 0) {
  print(sPort.readSring());
}

Закройте Arduino Serial Monitor, запустите эскиз обработкии вы должны увидеть все, что вы отправили (используя Serial.print в Arduino) в Консоли обработки.

Serial.print, так же как Serial.read - это функции для связи с любой программой на компьютере после подключения USBкабель.Serial Monitor является одним из них, но есть много других, и среди них есть Processing.

...