C#串口通讯接收数据问题!!求老师解答!!
我写了一个串口程序!是和一台仪器进行通信,在通讯过程中,我发送一条指令后,仪器会回复一条指令,我要判断回复的指令是否正确,我把接受的数据放在ReceiveData中,每次判断前我要知道接收到的仪器的指令是否更新过,我现在不知道怎么判断接受的的数据是否更新??private void serialPort1_DataReceived(object sender, e)//串口接收数据
{
while (serialPort1.BytesToRead > 0)
{
ReceiveData += serialPort1.ReadExisting();//接受的数据放在ReceiveData
}
ReceiveData = "";
}
private void collect_data_Click(object sender, EventArgs e)//通信过程
{
int i;
sendmesg[1] = "WAV" + wave_set.Text.ToString() + '\r';//x射线波长
sendmesg[9] = "SKM" + voltage_set.Text+ current_set.Text + '\r';//管电压,管电流
sendmesg[10] = "SHO" + '\r';//开光栅
sendmesg[11] = "Q/" + '\r';
WriteData("SHR"+'\r');
while (!string.Equals(ReceiveData,'\n' + "C=?" + '\r')) ;
WriteData("/S" + '\r');
for (i = 1; i < 13; i++)//这个地方出现问题,因为不知道怎么判断接收的的数据已经更新??????????
{
while (!string.Equals(ReceiveData,'\n' + "C=?" + '\r')) ;
WriteData(sendmesg[i]);
}
button3.Enabled = true;
}