我在从串口读取数据时遇到问题。我的代码是这样的:
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]才有值。所以,我完全陷入困境,不知道发生了什么,在哪里找到解决方案。
有人能给我至少一个提示如何解决这个问题吗?