InputStream - 从串口读取数据

时间:2015-12-23 18:50:14

标签: java serial-port inputstream

我在从串口读取数据时遇到问题。我的代码是这样的:

 case SerialPortEvent.DATA_AVAILABLE:
        try {
            int numBytes = 0;
            while ((numBytes = inputStream.read(readBuffer)) >= 0){
                //Some code to process data
            }
        } catch (IOException e){
            System.out.println(e.getMessage());
        }
        break;

传入的包很小,大小不同 - 5,7,13字节。波特率为57600.在真实环境中,每秒有3-4个包。

问题是:

  • 当我使用javax.comm, read()方法返回字节数组readBytes时,其中省略了值为0的字节。 read()方法没有读取零;
  • 当我使用RXTX, numBytes时,其值正确(读取整个包),但只有readBytes [0]才有值。

所以,我完全陷入困境,不知道发生了什么,在哪里找到解决方案。

有人能给我至少一个提示如何解决这个问题吗?

0 个答案:

没有答案