1
這是我的代碼。當我運行這個第一個字節保存在tempbuf的第0個位置。但是,當我第二個字節,第一個值在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 2014-08-29 04:30:30
任何人都可以幫助我......? – user3952215 2014-08-29 05:13:32
q的定義在哪裏,你用它來做什麼?你的變量名稱相當隱晦,所以很難說出你想要做什麼 – 2014-08-29 05:21:49