将字符串从处理发送到arduino

时间:2019-02-21 18:20:10

标签: arduino serial-port processing

我正在尝试使用处理环境在PC和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 :(得分:0)

好的,在研究了Arduino论坛上的几篇不同文章之后,我弄清楚了问题所在。用于通过串行发送数据的功能处理不会自动在字符串末尾包含返回字符。这很重要,因为Arduino在看到返回字符之前不会从串行缓冲区读取。我要做的就是在通过串口发送的每个字符串的末尾添加“ \ r \ n”,从而解决了问题!