我正在从Java中的串口读取数据,但是我没有得到完整的数据,它将分裂十个。
示例:
如果目标设备写入datas_ok
,那么我会在第一时间读取datas_
,然后第二次读取ok
。
case SerialPortEvent.DATA_AVAILABLE:
try {
while (inputStream.available() > 0) {
numBytes = inputStream.available();
readBufferArray = new byte[numBytes];
// int readtheBytes = (int) inputStream.skip(2);
int readBytes = inputStream.read(readBufferArray);
one = new String(readBufferArray);
System.out.println("readBytes " + one);
handleFlashResponse(one);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
怎么了?
答案 0 :(得分:2)
从解密说起,听起来你的阅读速度比发送数据要快。这个是正常的。如果您从端口读取并且没有任何内容,那么您需要继续尝试(除非您可以进行阻止读取的呼叫)。