1
Это мой код. Когда я запускаю этот первый байт, он сохраняется в 0-й позиции tempbuf. Но когда я получил второй байт, первое значение сбрасывается в tempbuf :-(Массив массива байтов в другой массив байтов в C#
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
int bytes = serialPort1.BytesToRead;
byte[] byte_buffer = new byte[200];
byte[] tempbuf = new byte[200];
byte[]tempbuf2=new byte[200];
byte[] ar = new byte[20];
byte[] ssd = new byte[4];
byte[] ctrl = new byte[20];
string pp = "";
string ll = "";
serialPort1.Read(byte_buffer, 0, bytes);
if (i == 0)
{
index = byte_buffer[0];
}
tempbuf[q++] = byte_buffer[0];
i++;
if (i == 200)
{
array[index] = TestSerializer.MarshalToStructureArray(tempbuf, tempbuf.Length);
if (textBox30.InvokeRequired)
{
this.Invoke(((MethodInvoker)delegate
{
textBox30.Text = index.ToString();
}));
}
i = 0;
}
if (q == 200)
{
q = 0;
}
Научиться форматировать Ваш код пожалуйста – leppie
Может кто-нибудь мне помочь? – user3952215
Где находится 'q' и для чего вы его используете? Ваши имена переменных довольно загадочны, поэтому трудно сказать, что вы пытаетесь сделать. –