最近在研究C#串口遇到这么一个问题,具体如下
//按下后读取下位机的电压参数
private void button1_Click(object sender, EventArgs e)
{
Port.Write(Data1); //读取下位机电压参数
}
//按下后读取下位机的电流参数
private void button2_Click(object sender, EventArgs e)
{
Port.Write(Data2); //读取下位机电流参数
}
//定时读取下位机数据
private void timer1_Tick(object sender, EventArgs e)
{
Port.Write(Data3); //下位机反馈当前位置
}
//数据接收事件
public void PortDataReceived(object Sender, SerialDataReceivedEventArgs e)
{
//做一些数据完成性判断...
}
假设我现在与下位机通讯,timer1在实时读取下位机的位置参数,PortDataReceived事件中接收处理,应该也是正常收到应答的当前位置数据,那假设我随机按下button1或button2,这时候就能难分清楚接收到的数据是对应哪一个了,就不知道接收的数据到底是谁的,请问一下这情况怎么解决,谢谢