【发布时间】:2016-01-18 11:16:53
【问题描述】:
我的处理草图有点问题。我正在尝试通过串行连接从我的 Arduino 中获取价值。在这种情况下,它是一个超声波传感器,它应该返回距离。在 Arduino 软件串行监视器中,我有 2 到 300 之间的正确值。但是在将其发送到处理后,我只得到 ASCII 代码,我想将其转换为字符串。但是转换后的字符串还包含换行符和回车符——我不想要这些。
我想,我可以通过使用 trim 来删除这个换行符和回车符。但现在我在trim(distance) 中只得到一个NullPointerException。我现在不知道该怎么办。
我在超声波部分的 Arduino 草图:
//Ultraschall
int duration, distance
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
//Calculate the distance (in mm)
distance = duration / 5.8;
Serial.println(distance);
delay(50);
我在超声波部分的处理草图:
以上设置:
import processing.serial.*;
Serial port;
在画中:
String distance = port.readString();
String distanceTrim = trim(distance);
println (distanceTrim);
【问题讨论】:
-
您好,能否请您显示完整的错误信息?
-
我在阅读您的帖子时收到了
InvalidGrammarException。请注意,您帖子的视觉质量会影响投票数(正面和负面)和您收到的答案。你甚至忽略了基本规则。我认为没有理由这样做,并且可能会被否决。 -
String distanceTrim = trim(distance);已标记。错误只有:NullPointerException -
没有
String distanceTrim = trim(distance);我收到正确的值,但总是有回车和空格,所以我不能正确使用它
标签: arduino port processing trim