12

現在、Java アプリケーションからシリアル ポートを介して arduino にデータを送信するプロジェクトに取り組んでいます。

私が抱えている問題は次のとおりです。整数を2バイトに分割してから、それらをArduinoの整数に結合する必要があります。しかし、その逆 (Arduino->Java) は、私に問題を引き起こすだけです。arduinoの部分はそれほど難しくなく、魅力のように機能しますが、ここにすでに投稿されている関連する質問と回答を調べても、バイトを正しく組み合わせてintにする方法がわかりません。

動作を拒否する Java コードは次のとおりです。

int in = 500;
byte[] data = new byte[2];

data[0] = (byte)(in & 0xFF);
data[1] = (byte)((in >> 8) & 0xFF);

int res = data[0] | (data[1] << 8);

これから得られるコンソール出力は次のとおりです。

data[0] = -12  
data[1] = 1  
res = -12

しかし、私はresが500になる必要があります!

4

4 に答える 4

-1

既に Guava を使用している場合 (そうすべきです)、この問題は既に解決されています。

于 2013-08-15T07:53:56.543 に答える