none
Contador IR RRS feed

  • Pergunta

  • Como faço para adicionar 5 temporizadores em uma porta serial? E que como o "timer1", outros temporizadores possam receber sinal dos outros pinos programados?

    Exp:

    //EVENTO ABRIR PORTA
    private void btnAbrirPorta_Click(object sender, EventArgs e)
    {


    try
    {
    //VERIFICA SE OS COMBO BOX FORAM PREENCHIDOS
    if (cmbBaundRate.Text == "" || cmbPortName.Text == "")
    {
    MessageBox.Show("É necessário selecionar a velocidade e o nome da porta",

    "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    else
    {
    //EXIBE O PAINEL DO CONTADOR
    panelContador.Visible = true;

    //CONFIGURA A PORTA SERIAL
    serialPort1.BaudRate = Convert.ToInt32(cmbBaundRate.Text);
    serialPort1.PortName = cmbPortName.Text;
    //ABRE A PORTA SERIAL
    serialPort1.Open();
    //ATIVA O TIMER
    timer1.Enabled = true;
    }
    }
    catch (Exception erro)
    {
    MessageBox.Show("Erro: " + erro.Message, "Erro", MessageBoxButtons.OK,
    MessageBoxIcon.Error);
    }
    }

    private void timer1_Tick(object sender, EventArgs e)
    {

    //GUARDA VALOR RECEBIDO DO ARDUINO
    string recebido;
    //LÊ O VALOR DA PORTA SERIAL
    recebido = serialPort1.ReadExisting();
    int cont;
    if (recebido != "")
    {
    cont = Convert.ToInt32(lblNumero.Text);
    cont++;
    //ZERA O CONT SE ESTE FOR MAIOR QUE 999
    if (cont > 9999)
    {
    cont = 0;
    }
    lblNumero.Text = Convert.ToString(cont);
    }
    }

    • Editado IsaqueSene terça-feira, 23 de março de 2021 03:46
    terça-feira, 23 de março de 2021 03:39

Todas as Respostas

  • Ola,

     Você pode adicionar um método de timeout no SerialPort Class como mostra no documento abaixo:

    https://docs.microsoft.com/pt-br/dotnet/api/system.io.ports.serialport?view=dotnet-plat-ext-5.0

    Espero que ajude
    terça-feira, 23 de março de 2021 11:53
    Moderador