//Evento que ocurre cada vez que se reciben Datos por UART private void Puerto_Serie_DataReceived(object sender, SerialDataReceivedEventArgs e) { string Temporal = ""; Temporal = Puerto_Serie.ReadLine();//Se lee lo que hay en el buffer if (Temporal.Contains("Iteraciones")) { Puerto_Serie.Write(Input_Iteraciones.Text); } else if (Temporal.Contains("Ajuste")) { Puerto_Serie.Write(Input_Ajuste.Text); } else if (Temporal.Contains("Progreso")) { Set_Progreso(Convert.ToInt32(Regex.Match(Temporal, @"\d+").Value)); } else if (Temporal.Contains("Finished")) { SetText("Guardar"); ShowMessageBox(this, "El proceso ha finalizado correctamente", "Finalizado", MessageBoxButtons.OK, MessageBoxIcon.Information); Finish = true; } else { Data_Received += Temporal; } }
//Cierra el puerto serie private void Parar_Click(object sender, EventArgs e) { if (Finish) { Explorer.Guardar(Data_Received); Parar.Text = "Parar"; Finish = false; } else { Puerto_Serie.Write("Stop"); Puerto_Serie.Close(); } }
//Desencadena el inicio de la recepcion de datos y envio de datos, se instancia la configuracion private void Start_Click(object sender, EventArgs e) { try { Puerto_Serie.Close(); Barra_De_Progreso.Maximum = 8 * Convert.ToInt32(Input_Iteraciones.Text); Puerto_Serie.PortName = PuertoCombo.SelectedItem.ToString(); Puerto_Serie.BaudRate = Convert.ToInt32(BaudRateCombo.SelectedItem); Puerto_Serie.Open(); if (Puerto_Serie.IsOpen) { Puerto_Serie.Write("Start"); } Puerto_Serie.DiscardInBuffer(); Data_Received = ""; } catch (Exception error) { } }