private void button1_Click(object sender, EventArgs e) { if (!OpenUart()) { return; } SetIDForm f = new SetIDForm(Uart); uartRxProc = new UartRxProc(f.UartRxProc); //this.Uart.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(f.Uart_DataReceived); f.ShowDialog(); //this.Uart.DataReceived -= new System.IO.Ports.SerialDataReceivedEventHandler(f.Uart_DataReceived); Uart.Close(); uartRxProc = null; }
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { Uart.Close(); }
private void btNetStart_Click(object sender, EventArgs e) { if (btNetStart.Text == "启动网络") { Uart.PortName = cbCom.Text; RxPacket = new CP1616Packet(); if (WFGlobal.OpenSerialPort(ref Uart) == false) { return; } Properties.Settings.Default.PortName = cbCom.Text; Properties.Settings.Default.Save(); sensorSingIn.clearSignIn(); listView1.Items.Clear(); chart1.Series[0].Points.Clear(); chart2.Series[0].Points.Clear(); chart3.Series[0].Points.Clear(); chart4.Series[0].Points.Clear(); chart3.Series[1].Points.Clear(); chart4.Series[1].Points.Clear(); chart3.Series[2].Points.Clear(); chart4.Series[2].Points.Clear(); chart3.Series[3].Points.Clear(); chart4.Series[3].Points.Clear(); bStopNet = false; for (int i = 0; i < 3; i++) { startResult = 0; waitCommand = 1; CP1616Packet.CP1616ComSend(ref Uart, waitCommand, 0, (ushort)0); int x = 0; while (true) { Thread.Sleep(1); if (startResult != 0) { break; } x++; if (x > 1000) { startResult = 0xff; break; } } if (startResult == 0xff)//超时了 { } else { break; } } if (startResult == 0xff) { MessageBox.Show("网络控制器未做应答!!!"); Uart.Close(); btNetStart.Text = "启动网络"; return; } else if (startResult == 2) { bStopNet = false; btNetStart.Text = "停止网络"; MessageBox.Show("网络已经启动,等待接入"); } else if (startResult == 3) { bStopNet = false; btNetStart.Text = "停止网络"; MessageBox.Show("标定网络已经启动,将自动转为测量网络,等待接入"); } else { WaitSometingForm.WaitSometing_Init(); waitCommand = 0x10;//点名完成 if (!WaitSometingForm.WaitSometing(10, 3000, "等待无线节点组网,预计时长25s")) { waitCommand = 0; Uart.Close(); MessageBox.Show("组网失败"); return; } if (listView1.Items.Count != 0) { WaitSometingForm.WaitSometing_Init(); waitCommand = 0x20;//等待测量数据 if (!WaitSometingForm.WaitSometing(10, 500, "等待网络数据,预计时长3s")) { waitCommand = 0; MessageBox.Show("组网失败"); Uart.Close(); bStopNet = false; return; } bStopNet = false; btNetStart.Text = "停止网络"; MessageBox.Show("网络启动成功"); } else { waitCommand = 0; MessageBox.Show("当前网络没有发现任何无线节点,网络自动停止"); Uart.Close(); btNetStart.Text = "启动网络"; return; } } } else { bStopNet = true; WaitSometingForm.WaitSometing_Init(); waitCommand = 0x02;//等待网络停止 if (!WaitSometingForm.WaitSometing(10, 500, "等待网络停止,预计时长5s")) { waitCommand = 0; MessageBox.Show("网络停止失败"); return; } MessageBox.Show("网络已停止"); Uart.Close(); btNetStart.Text = "启动网络"; } }