使用Java计算串行字节十六进制

时间:2013-01-30 07:35:52

标签: java java-ee serial-port

每次发送我有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开头,并且仍能将最后一个字节分成半字节。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  

while((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)

这比我更好地解释了它。