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

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)

これは私ができるよりもよく説明しています。

于 2013-02-01T02:00:05.597 に答える