Отправка строк из обработки в Arduino - PullRequest
0 голосов
/ 21 февраля 2019

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

Вот мой тестовый код для обработки:

import processing.serial.*;
Serial myPort;

void setup(){
  myPort = new Serial(this, Serial.list()[0], 9600);
}

void draw(){
  myPort.write("test");
  while (myPort.available() > 0) {
    String inByte = myPort.readString();
    println(inByte);
  }
}

Вот мой тестовый код для Arduino:

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

String data;
void loop() {
  // put your main code here, to run repeatedly:
  //Serial.println("is running");
  if (Serial.available() > 0) {
    // read the incoming byte:
    data = Serial.readString();

    // say what you got:
    Serial.print("I received: ");
    Serial.println(data);
  }
}

Буду признателен за любую помощь, которую я могу получить!Спасибо!

1 Ответ

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

Хорошо, просмотрев несколько разных постов на форуме Arduino, я понял, в чем проблема.Функция обработки, используемая для отправки данных через последовательный порт, не включает автоматически возвращаемый символ в конце строки.Это важно, потому что Arduino не будет читать из последовательного буфера, пока не увидит этот возвращаемый символ.Все, что мне нужно было сделать, это добавить "\ r \ n" в конец каждой строки, которую я отправил через последовательный порт, и это решило проблему!

...