java - 从 Com 端口 java 读取

标签 java com-port

我是一名初学者 Java 开发人员。我在从 com 端口读取数据时遇到问题。代码:

public class Main {

private static SerialPort serialPort;

public static void main(String[] args) {
    serialPort = new SerialPort("COM3");
    try {
        serialPort.openPort();
        Thread.sleep(2000);
        serialPort.setParams(SerialPort.BAUDRATE_57600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
        serialPort.writeBytes("Test".getBytes());
        serialPort.setEventsMask(SerialPort.MASK_RXCHAR);
        serialPort.addEventListener(new EventListener());
    }
    catch (SerialPortException | InterruptedException ex) {
        System.out.println(ex);
    }
}

private static class EventListener implements SerialPortEventListener {

    public void serialEvent(SerialPortEvent event) {
        if(event.isRXCHAR() && event.getEventValue() == 8){
            try {
                byte[] buffer = serialPort.readBytes(8);
                for(int i = 0; i < buffer.length; i++){
                    System.out.println("Output" + buffer[i]);
                }
                serialPort.closePort();
            }
            catch (SerialPortException ex) {
                System.out.println(ex);
            }
        }
    }
}

没有显示任何内容,但我知道数据已写入。请帮忙。

最佳答案

您用于通信/串行内容的库是什么? 您可以尝试在发送任何内容之前添加 serialPort.addEventListener(new EventListener()); 行,这可能是在监听器映射之前发送接收事件。

关于java - 从 Com 端口 java 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62329849/

相关文章:

java - Netbean GUI界面窗口关闭

java - 我测试正确吗?

java - WAS Liberty 8.5.5.7 是否支持邮件资源配置?

java - 直接分配 volatile 变量线程安全吗?和 AtomicReference 一样安全?

java - 如何手动调用 CheckBoxTreeItem 的 TreeCell#updateItem 以便我们可以应用 CSS?

javascript - 使用 Vanilla JS 的 CRC-16 校验和计算器

c - "/dev/ttyUSB0"在 Windows 中等效