現在、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になる必要があります!