Prezados...

estou precisando de ajuda para finalizar um programa e estou encontrando dificuldades, o progrma consistem em um gerador de sinais através do PIC18f4550 que irá conectado a uma EEPROM e a um DAC que será conectado ao osciloscópio, os comandos serão pelo teclado através da COM. Consegui fazer a conexão e comunicar. Só que quando efetuo um comando tipo `S`no teclado o mesmo entra nesse loop e não sai mais, não consigo finalizar ou modificar esse loops ou leitura do teclado. segue o código em anexo e a pasta. 

desde já grato pela ajuda.

Exibições: 155

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

Boa tarde amigo....   Acho que esta faltando depois do for(;;);  vc colocar  tecla=' ';   para nao entrar novamente nesse if ....

Boa  tarde Ricardo, e desde já obrigado pela ajuda. Mas seu eu zerar a tecla o sinal vai acabar cessando, acredito que preciso fazer uma varredura se nenhuma outra letra que corresponda a um outro tipo de sinal estiver acionado ele deve continuar no loop. Por exemplo apertei a tecla "S" o comando está gerando uma senóide na saida do DAC, em um outro momento se eu apertar a tecla "Q" por exemplo ele tem que mandar uma onda quadrada para saída do DAC. Acredito que tenha que fazer chamadas talvez por funções auxiliares, mas estou com essa dificuldade. Não sei se fui claro!

Olá Rafael. Fui olhar o seu programa e só tem includes e drive para e2prom e usb! 

Você pode usar o Switch Case para para a comparação com o char desejado, no caso 'S'

Da uma olhada neste vídeo:

https://www.youtube.com/watch?v=mQKm3JxPgi8

Sera que timer não resolve ? 
Bom pelo que eu vi os for e while não estão deixando o programa receber os dados que chegam da usb,
Sera que isso nao funciona :
if(tecla == S || tecla == E || .....)

{

    x=tecla;

  conta=0;

}


if(x=='S')

{

  seu codigo....

   conta++;

  if(conta==256){ conta=0; }

}

if(x=='E')

{

  seu codigo....

   conta++;

  if(conta==256){ conta=0; }

}

assim acho que seu programa nao vai ficar preso nos for e while e vai conseguir receber os dados

Obrigado aos colegas pela grande ajuda, consegui finalizar o código![

muito grato!!

abraço a todos

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2017   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço