我尝试使用C#中的SerialPort发送和接收一些数据。我注意到在尝试接收某些数据时我认为很奇怪的行为。
如果我使用这样的代码:
Byte[] receiveData = new Byte[2];
port.Read(receiveData, 0, 2);
BitArray array = new BitArray(receiveData);
然后array
将只包含第一个字节,第二个将只包含零(尽管发送了其他数据。)但是,这样的修改:
Byte[] receiveData = new Byte[2];
port.Read(receiveData, 0, 1);
port.Read(receiveData, 1, 1);
BitArray array = new BitArray(receiveData);
获得正确的数组内容。接收1个字节两次不同于接收2个字节一次,就像它在这里发生的那样?