我遇到了RXTX库和Arduino的问题,我正在尝试将从Arduino串行输出获得的变量存储到我在Java代码中声明的变量中,然后使用它来执行某些操作。这是我用来从Arduino读取串行输出的代码的一部分。
现在的问题是,如何从这段代码开始存储数据?
我需要存储从超声波传感器获得的数据,并将其显示在我的Java GUI中。
public void serialEvent(SerialPortEvent evt) {
if (evt.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
byte singleData = (byte)input.read();
if (singleData != NEW_LINE_ASCII) {
logText = new String(new byte[] { singleData });
finestra.logArea.append(logText);
} else {
finestra.logArea.append("\n");
}
}
catch (Exception e) {
logText = "Failed to read data. (" + e.toString() + ")";
finestra.logArea.setForeground(Color.red);
finestra.logArea.append(logText + "\n");
}
}
这段代码只是为了阅读序列中的所有内容。
答案 0 :(得分:0)
为什么不尝试使用Javino中间件而不是RxTx?
您的Java代码将是这样的:
Javino j = new Javino();
String receivedMessage = new String();
if (j.requestData("COM3","hi"))
receivedMessage = j.getData();
你的Arduino代码(在主循环内):
if(javino.availablemsg()){
msg = javino.getmsg();
}
if (msg=="hi) {
javino.sendmsg("Your Value");
}
msg = "";
就是这样。