我写了一个名为ArduinoSerial
implements的类SerialPortEventListener
。
我使用这个类作为一个库,我将它导入到另一个名为 的程序ArduinoGUI
中,该程序创建了一个带有一系列复选框的摇摆 GUI。
当我想写入串行端口时,我有一个私有arduinoArduinoGUI
类的私有成员变量;ArduinoSerial
我调用该arduino.output.write(byte b);
函数,它工作正常。
问题是内部ArduinoSerial
类覆盖了读取函数,并且当前将输出吐出到 system.out。
@Override
public synchronized void serialEvent(SerialPortEvent oEvent) {
if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
String inputLine=input.readLine();
System.out.println(inputLine);
} catch (Exception e) {
System.err.println(e.toString());
System.out.println("But nothing much to worry about.");
}
}
// Ignore all the other eventTypes, but you should consider the other ones.
}
然而,这不是我想要的,我想将串行数据读入ArduinoGUI
类中的字节数组,但我不确定如何再次覆盖此方法和/或为串行数据编写事件侦听器端口,同时让ArduinoSerial
类不读取并首先丢弃缓冲区。