public void timer_Elapsed(object sender, ElapsedEventArgs e) { if (horarios.Contains(DateTime.Now.ToString("dd/MM/yyyy - HH:mm:ss"))) { using (SerialPort serial = new SerialPort(comPort, 9600, Parity.None, 8, StopBits.One)) { try { serial.Open(); if (serial.IsOpen) { Virada virada = horario.Parametro.CalcularViradas(); string s = virada.Caracter; for (int i = 0; i < virada.Qtd; i++) { byte[] dados = Encoding.UTF8.GetBytes(s); serial.Write(dados, 0, 1); System.Threading.Thread.Sleep(150); } } } catch (Exception ex) { } } } }
//Esta função será executada a cada 1 SEGUNDO public void timer_Elapsed(object sender, ElapsedEventArgs e) { //Se o horários de agora está contido na lista de intervalos calculados if (horarios.Contains(DateTime.Now.ToString("dd/MM/yyyy - HH:mm:ss"))) { //Cria o objeto Portal Serial com as configurações explanadas pela Kathlen using (SerialPort serial = new SerialPort(comPort, 9600, Parity.None, 8, StopBits.One)) { try { serial.Open(); if (serial.IsOpen) { Virada virada = horario.Parametro.CalcularViradas(); string s = virada.Caracter; //Para cada virada definida nos Parâmetros for (int i = 0; i < virada.Qtd; i++) { //Tranforma o caracter A ou caracter B para um vetor de bytes //Gerando um vetor de 8 posições com os valores //01000001 = A //01000010 = B byte[] dados = Encoding.UTF8.GetBytes(s); //Manda o vetor inteiro para o arduino serial.Write(dados, 0, 1); } } } catch (Exception ex) { } } } }