private void RemoteSerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { int n = 0; while (n < 18) { if (RemoteSerialPort.IsOpen == false) { return; } n = RemoteSerialPort.BytesToRead; } //开始接收数据 byte[] byteRead = new byte[18]; RemoteSerialPort.Read(byteRead, 0, byteRead.Length); if (byteRead[0] == 0x5A && byteRead[17] == 0x33) { //遥控器数据处理 remote_eta = RemoteDataPrecess(byteRead); } else { RemoteSerialPort.DiscardInBuffer(); } ShiftOffestTxtbox.Text = Convert.ToString(Math.Round(remote_eta, effectiveDecimal)); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); RemoteSerialPort.Close(); } }