/// <summary> /// Conecta com um dispositivo compatível /// </summary> /// <param name="maisTentativas"> Opcional, utiliza-se false quando deseja-se realizar mais tentativas antes de retornar erro </param> private void Conectar([Optional] bool maisTentativas) { Desconectar(); serialPort1.PortName = cboPorts.Text; //Abre e cecha a porta, pois por algum motivo o arduino não responde na primeira conexão. serialPort1.Open(); serialPort1.DiscardInBuffer(); //teste serialPort1.Close(); Thread.Sleep(1500); //--------------------------------------------------------------------------------------- serialPort1.Open(); //Escreve "123;" na serial, caso o retorno seja "Sou eu!" mantém a conexão serialPort1.WriteLine("123;"); string teste = serialPort1.ReadLine(); if (teste.Contains("Sou eu!")) { connected = true; notifyIcon1.ShowBalloonTip(2, "Conectado!", "Conectado a " + cboPorts.SelectedItem, ToolTipIcon.Info); lblStatus.Text = "Conectado a " + cboPorts.SelectedItem; lblStatus.ForeColor = Color.Green; this.WindowState = FormWindowState.Minimized; //Salva a ultima porta conectada if (comandos.ultimaPortaConectada != cboPorts.Text) { comandos.ultimaPortaConectada = cboPorts.Text; comandos.SalvarComandos(); } } else if (!maisTentativas) { MessageBox.Show("O dispositivo não foi" + " identificado.", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Information); Desconectar(); } }
private void bntSalvar_Click(object sender, EventArgs e) { //Salva os comandos em json comandos.SalvarComandos(); this.Close(); }