示例#1
0
 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();
     }
 }