用jSerialComm读取串行端口的格式错误

时间:2019-11-01 13:05:44

标签: java serial-port

我正在尝试创建一个应用程序,该应用程序从串行端口读取数据然后进行评估(当前进行评估的确切程度是不相关的)。为此,我目前使用以下代码,最初应仅将接收到的数据写在控制台上。

SerialPort serPort = SerialPort.getCommPort("COM6");
    serPort.setComPortParameters(9600, 8, 1, 0);

    serPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 0, 0);
    serPort.openPort();
    InputStream in = serPort.getInputStream();
    while (true) {
        try {
            String message = "0";
            for (int j = 0; j < 1000; ++j) {
                message = Character.toString((char) in.read());
                System.out.println(message);
            }
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

到目前为止,该方法有效,可以打印出一些内容。但是,格式不好,因此实际消息分散在多行中。

然后我将System.out.println(message);更改为System.out.print(message);,从而解决了片刻的问题。

但是,由于我想继续处理该消息,因此必须找到另一种解决方案。然后,我尝试在单个邮件中搜索“ \ n”或“ \ r \ n”(message.contains(...);),然后手动将邮件放在一起,但无济于事。

所以我的问题是我还能做什么。 也许在时间上有所改变?不幸的是,我没有所用串行端口的文档,因为制造商在那里没有提供任何东西。

问候

0 个答案:

没有答案