virtual terminal proteus

Enviado:
18 Abr 2009 22:44
por fernandor
pessoal...ao clicar em um push button envie uma mensagem para o hyperterminal. Entretanto ainda estou simulando usando o proteus mas nao esta sendo mostrada a mensagem de botao pressionado. Acho que o problema esta no virtual terminal do proteus pois quando vou pressionar o push butto a janela do virtual terminal fica inativa. Aqui esta o codigo
Obrigado
char dado;
char
main(){
printf("Começando o Programa...");
while(true){
if (input(botao)){
printf("BOTAO PRESSIONADO!!!");
output_high(LED2);
}
else{
dado=getc();//Captura a informação recebida
switch(dado){//Compara a informação recebida
case '1':
printf("Sequencia 1\r\n");
//SEQUENCIA1:
output_high(LED0);
delay_ms(2000);
output_low(LED0);
delay_ms(2000);
break;
}
}
}

Enviado:
18 Abr 2009 23:48
por fabim
Fernando, posso até estar errado porque não utilizo printf, nem a purrete, principalmente pra pic comun,,,,
Mais printf( mensagem );
Tá, mais printf pra onde ?
Que eu saiba, tem que dar o printf apontando pra alguma coisa, serial etc..
experimenta criar uma rotina de envio pela serial.
E ao invés de mandar uma string, mande apenas um char. PELA SERIAL...
fabim
printf

Enviado:
19 Abr 2009 08:37
por fernandor
fabim...o printf esta funcionando...esta enviando a string para o virtual terminal (proteus)...gostaria de saber porque nao esta enviando quando é pressionado o push button?? a logica esta correta? POsso estar errado mas se a logica estiver certa...o problema esta no virtual terminal do proteus...pois qdo aciono o botao a janela do virtual terminal fica inativa.
muuuito obrigado pela dica para enviar caracteres usando a serial..sera de grande valor...pois se eu quiser usar um lcd juntamente com o hyperteminal (windows) ficara mais organizado..
abraco
fernando
Re: virtual terminal proteus

Enviado:
19 Abr 2009 10:34
por fabim
fernandor escreveu:
void main(void){
char dado;
printf("Program initializing.....");
while(1){ // loop infinito
if (input(botao)){ // se bttn = 1 then // seu botão vai se zero pra 1!?
printf("BOTAO PRESSIONADO!!!");
output_high(LED2);
delayms(100);
}
if(getc()){ // CHEGOU ALGUMA COISA ?
dado = getc(); // DADO IGUAL à ALGUMA COISA
switch(dado){//Vai para !
case '1':
printf("Sequencia 1\r\n");
output_high(LED0);
delay_ms(2000);
output_low(LED0);
delay_ms(2000);
break;
default:// PEGUE O COSTUME DE UTILIZAR, FICA MAIS ORGANIZADO
printf("COMANDO DESCONHECIDO!!!");
break;
}//END SWITCH
}//END MAIN
expeguimenta assim Nando.. Agóra deve funcionar..
Lembrando que você deve configurar o virtual terminal, com as mesmas config´s da serial do PIC.
fabim
virtual terminal

Enviado:
19 Abr 2009 10:58
por fernandor
fabim...com certeza é problema do virtual terminal...
sem o comando switch ao pressionar o push button...ele envia a msg BOTAO PRESSIONADO para o virtual terminal..com um problema ...ele repete duas vezes a msg.
agora qdo coloca o switch..qdo pressiono o push button...nao aparece nenhuma mensagem no virtual terminal (proteus).
vou tentar simular diretametne no hyperteminal do windows..
valeu mais uma vez
fernando