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:不允许为空
在我的热成像项目中,我非常需要回答。
答案 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的串行监视器。