バイト配列の一部を2つの別々のバイト配列に割り当てて、別々のシリアルポート上でシリアルコマンドとして送信しようとすると、私はいくつかの奇妙な動作をします。私はより簡単に歩くことができるようにコードを分割しました。問題は簡単に繰り返すことができますが、私には意味がありません。不整合に割り当てられたバイト
byte[] cmd1 = CLEAR_COMMAND;
byte[] cmd2 = CLEAR_COMMAND;
byte[] parameterBytesCmd1 = IntToByteArray(parameter1);
cmd1[3] = parameterBytesCmd1 [0];
cmd1[4] = parameterBytesCmd1 [1];
Thread.Sleep (100);
byte[] parameterBytesCmd2 = IntToByteArray(parameter2);
cmd2[3] = parameterBytesCmd2 [0];
cmd2[4] = parameterBytesCmd2 [1];
あなたは私が構築したコマンドテンプレート内の特定の位置にそれらを入れて、その後、バイト配列に変換し、整数パラメータのカップルを取っています見ることができます。私は、少なくとも100msの間に、間に寝せずにこれを行う場合は、cmd1
とcmd2
の内容は毎回同じになります - cmd1
とcmd2
の両方のための[3]
と[4]
parameterBytesCmd1[0]
と[1]
からのデータが含まれています。
FWIW、これは別のスレッドで発生します。