0

每次发送我有一个传入的 11 个字节的数据。它始终以标识设备的 0A 52 开头。剩下的就是这样:

0A 52 08 01 01 01 00 C1 20 02 59 

52 Packettype    
08 subtype       
01 Sequence nbr  
01 01 ID            
00 C1 SenseT
20 SenseH
02 Status         
5  level  
9  PwrLvl

由于没有 CR/LF,因此在 11 个字节中读取的最佳方法是确保它以 0A 52 开头并且仍然能够将最后一个字节分成半字节。

谢谢你的帮助。

4

1 回答 1

0

而 ( ( len = this.in.read(buffer,0,1)) > -1 )

将要读取的字节长度设置为 1 即可解决问题。请参阅: http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html#read(byte[], int, int)

这比我能解释得更好。

于 2013-02-01T02:00:05.597 回答