小弟用processing做了一个有通讯功能的GUI介面,通讯模块接收到资料后,由TTL串口转USB传到计算机来,最后显示在UI上。引用了controlP5(GUI)与processing.serial(串口通讯)两个函式库。
现在的问题是想透过计算机再回传讯息到通讯模块,原本设定输入AT+HELP=1后会在UI上显示一些资讯,结果编程器却故障并收到错误"String index out of range: - 1"。上网看了一些帖子有提到字符串读取相关的问题,但是改了改还是出错,在这边因为代码有些太多就不全放了,只放我认为跟问题相关的部分,麻烦大佬们解惑了...
void controlEvent(ControlEvent field) { //
String tmp = field.getStringValue();
char x = tmp.charAt(tmp.length()-1);
if(tmp.indexOf(x)==-1){
println("nope..");
print(tmp.substring(0, tmp.lastIndexOf(x)));
return;
}
else{
if(field.getName() == "send_back_APRS")
APORT.write(tmp + "\n");
else if(field.getName() == "send_back_TT&C")
TPORT.write(tmp);
else if(field.getName() == "send_back_PM2.5")
PPORT.write(tmp);
else
print("retransmitting failed!");
}
}