Fórum Problema com Porta Serial em Delphi!!! #484493
03/07/2014
0
Boa noite.
Estou começando a programar em Delphi e preciso comunicar com um equipamento via porta serial.
São vários comandos diferentes que precisam ser interpretados e colocar a informação em labels.
Já consegui fazer a comunicação utilizando o componente TComport e associando cada comando a um botão. Funciona perfeitamente!!!
O problema é que preciso enviar todos os comandos sequencialmente para que não precise apertar um botão de cada vez, mas sim somente um que realize todo o ciclo.
Preciso:
1) selecionar a string do comando;
2) transmitir o comando;
3) verificar se houve timeout;
4) desmembrar a rotina recebida com o comando COPY(já operacional);
5) colocar no local certo a informação
6) repetir o processo até o ultimo comando.
Tenho que executar 5 botões, com 10 comandos em cada, com essa sequência descrita acima.
Não consegui fazer em Delphi porque ainda não entendi com fazer:
FOR COMANDO 0 TO 10
BEGIN
WHILE NOT FLAG_TUDO_OK DO; // AGUARDA A PORTA SERIAL RECEBER O VALOR PARA QUE POSSA TRATAR E CONTINUAR O PROCESSO
INTERPRETA O RESULTADO DA SERIAL
EXECUTA O COMANDO
END;
END;
O problema é que o DELPHI trava durante o WHILE ... DO.
Isso funciona perfeitamente nos uC!!!
Qualquer ajuda é muito bem vinda, pois já estou quebrando a cabeça há dias!!!
Obrigado.
Estou começando a programar em Delphi e preciso comunicar com um equipamento via porta serial.
São vários comandos diferentes que precisam ser interpretados e colocar a informação em labels.
Já consegui fazer a comunicação utilizando o componente TComport e associando cada comando a um botão. Funciona perfeitamente!!!
O problema é que preciso enviar todos os comandos sequencialmente para que não precise apertar um botão de cada vez, mas sim somente um que realize todo o ciclo.
Preciso:
1) selecionar a string do comando;
2) transmitir o comando;
3) verificar se houve timeout;
4) desmembrar a rotina recebida com o comando COPY(já operacional);
5) colocar no local certo a informação
6) repetir o processo até o ultimo comando.
Tenho que executar 5 botões, com 10 comandos em cada, com essa sequência descrita acima.
Não consegui fazer em Delphi porque ainda não entendi com fazer:
FOR COMANDO 0 TO 10
BEGIN
WHILE NOT FLAG_TUDO_OK DO; // AGUARDA A PORTA SERIAL RECEBER O VALOR PARA QUE POSSA TRATAR E CONTINUAR O PROCESSO
INTERPRETA O RESULTADO DA SERIAL
EXECUTA O COMANDO
END;
END;
O problema é que o DELPHI trava durante o WHILE ... DO.
Isso funciona perfeitamente nos uC!!!
Qualquer ajuda é muito bem vinda, pois já estou quebrando a cabeça há dias!!!
Obrigado.
Andre Santos
Curtir tópico
+ 0
Responder
Posts
04/07/2014
Itamar Souza
Bom dia
Você já tentou fazer isso?
Btn01Click(nil);
Btn02Click(nil);
Btn03Click(nil);
Btn04Click(nil);
Btn05Click(nil);
Veja ai!
Você já tentou fazer isso?
Btn01Click(nil);
Btn02Click(nil);
Btn03Click(nil);
Btn04Click(nil);
Btn05Click(nil);
Veja ai!
Responder
Gostei + 0
04/07/2014
Andre Santos
Desculpe-me, amigo.
Não entendi como isso resolveria o meu problema!
Não entendi como isso resolveria o meu problema!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)