gpt4 book ai didi

java - 如何在java中使用jssc从串口读取数据?

转载 作者:行者123 更新时间:2023-11-30 08:37:46 27 4
gpt4 key购买 nike

我使用jssc库从串口读写数据。

package serial;

import jssc.*;

public class Serial {

public static void main(String[] args) {
String[] portNames = null;
portNames = SerialPortList.getPortNames();
for (String string : portNames) {
System.out.println(string);
}

if (portNames.length == 0) {
System.out.println("There are no serial-ports");
} else {

SerialPort serialPort = new SerialPort("com2");
try {
serialPort.openPort();

serialPort.setParams(SerialPort.BAUDRATE_9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN | SerialPort.FLOWCONTROL_RTSCTS_OUT);

PortReader portReader = new PortReader(serialPort);

serialPort.addEventListener(portReader, SerialPort.MASK_RXCHAR);

serialPort.writeString("S");

serialPort.closePort();
} catch (Exception e) {
System.out.println("There are an error on writing string to port т: " + e);
}
}
}
}

package serial;

import jssc.SerialPort;
import jssc.SerialPortEvent;
import jssc.SerialPortEventListener;
import jssc.SerialPortException;

public class PortReader implements SerialPortEventListener {

SerialPort serialPort;
public PortReader(SerialPort serialPort) {
this.serialPort = serialPort;
}

@Override
public void serialEvent(SerialPortEvent event) {
System.out.println("started");
if (event.isRXCHAR() && event.getEventValue() > 0) {
try {
String receivedData = serialPort.readString(event.getEventValue());
System.out.println("Received response: " + receivedData);
} catch (SerialPortException ex) {
System.out.println("Error in receiving string from COM-port: " + ex);
}
}
}
}

我使用虚拟串口和端口此代码将数据写入串口。我确定数据正在正确地写入串口。

但是我无法从串口读取数据。

最佳答案

发生的事情是您正在关闭端口: serialPort.addEventListener(portReader, SerialPort.MASK_RXCHAR);

        serialPort.writeString("S");

serialPort.closePort(); // <----- You are closing port here

关于java - 如何在java中使用jssc从串口读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36951451/

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