使用 RXTX 库将串行通信的数据从 Arduino 存储到 Java

Store serial communication's data from Arduino to Java using RXTX library

我的 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");
    }
  }

这部分代码只是为了读取所有来自连续剧的内容。

为什么不尝试使用 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 = "";

原来如此。