1
當我嘗試將一個字節數組的一部分分配給兩個單獨的字節數組,並將它們作爲單獨的串行端口上的串行命令發出時,我有一些奇怪的行爲。我已經打破了代碼,以便能夠更輕鬆地通過它;這個問題很容易重複,但對我來說毫無意義。字節分配不一致
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
的內容每次都會相同 - [3]
和[4]
對於cmd1
和cmd2
都將包含來自parameterBytesCmd1[0]
和[1]
的數據。
FWIW,這發生在一個單獨的線程。