두 개의 개별 바이트 배열에 바이트 배열의 일부를 할당하려고 할 때 몇 가지 이상한 동작이 발생하여 별도의 직렬 포트에서 직렬 명령으로 전송됩니다. 코드를 더 쉽게 통과 할 수 있도록 코드를 분해했습니다. 문제는 쉽게 반복 할 수 있지만 나에게 의미가 없습니다.일관되게 할당 된 바이트
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, 이는 별도의 스레드에서 발생합니다.