110,536
社区成员
发帖
与我相关
我的任务
分享
private void comm1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (ReceiveEventFlag) return; //禁止接收事件时直接退出
try
{
Listening = true;//设置标记,说明我已经开始处理数据,一会儿要使用系统UI的。
int n = serialPort1.BytesToRead;//先记录下来,避免某种原因,人为的原因,操作几次之间时间长,缓存不一致
byte[] buff1 = new byte[9];
serialPort1.Read(buff1, 0, n);
System.Threading.Thread.Sleep(100);
EDA17_Mg1_Llimit = Convert.ToUInt32((Scoft.Bclas.ClasCRC.ByteToString(buff1)).Substring(6, 4), 16);
this.Invoke((EventHandler)
(delegate
{
if (E9060_K1KZ == 1)
{
this.textBox1.Text=
Convert.ToString(Scoft.Bclas.ClasCRC.GetSiSheWuRuNumber(Bclas.ClasCRC.L_ineartn(EDA17_Rge1_Ulimit, EDA17_Rge1_Llimit, EDA17_Nf1_Ulimit, EDA17_Nf1_Llimit, EDA17_Mg1_Llimit), 2));
E9060_K1KZ = 2;
}
else if (E9060_K1KZ == 2)
{
this.textBox2.Text = Convert.ToString(Scoft.Bclas.ClasCRC.GetSiSheWuRuNumber(Bclas.ClasCRC.L_ineartn(EDA17_Rge1_Ulimit, EDA17_Rge1_Llimit, EDA17_Nf1_Ulimit, EDA17_Nf1_Llimit, EDA17_Mg1_Llimit), 2));
E9060_K1KZ = 1;//Bclas.ClasCRC.L_ineartn()线性处理,Scoft.Bclas.ClasCRC.GetSiSheWuRuNumber()四舍五入
}
}));
serialPort1.DiscardInBuffer();
ReceiveEventFlag = true;
}
finally
{
Listening = false;
timer2.Start();
}
}
private void timer2_Tick(object sender, EventArgs e)
{
timer2.Stop();
EDA17_M_tx();
}