gpt4 book ai didi

java RXTX 发送字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:38 25 4
gpt4 key购买 nike

我正在尝试使用 RXTX java 库通过 GUI 中的单击监听器发送字符串,但我无法编辑 RXTX 的代码来发送字符串,它只响应来自控制台的输入,那么我如何编辑代码以不仅发送从控制台输入的数据?

我在这里使用相同的代码:

http://rxtx.qbang.org/wiki/index.php/Two_way_communcation_with_the_serial_port

我尝试编写这个额外的函数并从其他类调用它:

public void writetoport() {
String serialMessage = "test";
try {
// i have made 'out' as a global variable//
this.out.write(serialMessage.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

但是我在控制台中收到此错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at TwoWaySerialComm.writetoport(TwoWaySerialComm.java:121)

最佳答案

在twowaycommuncation类中,您可以在if语句中执行类似的操作:

if ( commPort instanceof SerialPort )
{
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(115200,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
InputStream in = serialPort.getInputStream();
OutputStream out = serialPort.getOutputStream();
out1=out; //add this line, where out1 is a global variable//
(new Thread(new SerialReader(in))).start();
(new Thread(new SerialWriter(out))).start();

}

然后从此类中的任何位置发送如下字符串:

  public void writetoport(String send) {

try {
out1.write(send.getBytes());
out1.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

或者任何你想做的方式。

现在您可以发送您在代码中定义的字符串或通过在控制台中输入它来发送。

关于java RXTX 发送字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com