使用“#Arduino Ready $”等开始和结束标记
哪里 的 “#” 强> 表示开始和 的 “$” 强> 表示您感兴趣的字符串的结尾。然后您可以使用它们来处理接收到的字节并根据标记存储它们。
检查一下 论坛中的精彩教程 。
我可能完全错误的代码[我是java中的完整noob],但我认为你可以理解整体的想法。
串行事件方法应如下所示
if (event.isRXCHAR() && event.getEventValue() > 0) { try { char receivedData = serialPort.read(event.getEventValue()); if (recvData) === '#' { this.readString = 1 }else if(recvData === '$'){ this.readString = 0 } if(this.readString == 1){ this.recvStringData.append(receivedData) System.out.println(this.recvStringData); } if(this.recvStringData == "Arduino Ready") JTAC.ready = true; } catch (SerialPortException ex) { System.out.println("Error in receiving string from COM-port: " + ex); } }
而Arduino代码将是
void setup(){ Serial.begin(9600); } void loop(){ Serial.println("#Hi There$"); }