连接arduino与处理时出错

时间:2017-06-10 13:48:29

标签: processing arduino-uno

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);
}

这是我的代码,我从网站上复制过来。当我尝试运行时显示

  

打开串口时出错null:不允许为空

在我的热成像项目中,我非常需要回答。

2 个答案:

答案 0 :(得分:0)

您永远不会给COM5一个值,所以它是null。然后将其传递给Serial()构造函数。 Serial()构造函数不知道如何处理null值,因此您会收到错误。

请退后一步,阅读有关使用串行库的教程。 official documentation包含正确使用Serial()构造函数的示例代码。

答案 1 :(得分:0)

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的串行监视器。