110,580
社区成员
发帖
与我相关
我的任务
分享
public void MyPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int len = MyPort.myport.BytesToRead;
int cmdrecieve;
cmdrecieve = MyPort.myport.ReadByte();
if (len == 1)
{
if (cmdrecieve == 0xc0)
{
MyPort.Cmd = 0xc0;
//启动测量,开始发送数据
this.BeginInvoke((EventHandler)(delegate
{
timer1.Interval = 100;
timer1.Enabled = true;
timer1.Start();
}));
}
if (cmdrecieve == 0xe0)
{
MyPort.Cmd = 0xE0;
//停止测量
this.BeginInvoke((EventHandler)(delegate
{
timer1.Interval = 100;
timer1.Enabled = true;
timer1.Start();
}));
}
}
}
private void timer1_Tick(object sender, EventArgs e)
{
if(MyPort.Cmd==0xc0)
{
//启动测量,发送数据
MyPort.myport.Write(Date.PackageDate(depth.dDepth),0,1038);
//增加深度
depth.IncreaseDepth();
}
//停止测量
if(MyPort.Cmd==0xE0)
{
timer1.Stop();
}
}