c#串口通信

tfzdh 2012-06-11 04:34:30
帮忙修改这段代码的错误。

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();

}



...全文
47 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
SocketUp 2012-06-11
  • 打赏
  • 举报
回复
1. comm1,serialPort1,timer2 命名不规范
2. 空行不规范
3. 大括号不规范,可能是CSDN编辑器造成
4.if (ReceiveEventFlag) return;
改成
if (ReceiveEventFlag)
{
return;
}
5.楼下继续

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧