Ir ao conteúdo
  • Cadastre-se

C estou tendo dificuldade com o comando delay_ms


Posts recomendados

Quando faço um código com delay no pic por exemplo

 

#include <18f4525>

#use delay(clock=4000000)

 

void main()

{

if (input (pin_a1))

{

output_high(pin_d2);
delay_ms(100);
output_low(pin_d2);
delay_ms(100);
output_high(pin_d3);
delay_ms(100);
output_low(pin_d3);

}

 

}

 

o pic ignora a condição "if", liga os relés da placa e eles continuam ligados sem eu ativar a entrada 1


é alguma configuração que eu estou fazendo errado ou o delay não é usado com o "if"?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
58 minutos atrás, Rafael_angelo disse:

ativar a entrada 1

 

Ela é ativa em 1 mesmo?

 

Simples: sua entrada input(pin_a1) está satisfeita com nível 1. Coloque em 0 (no gnd) ou if (!input (pin_a1));

Dica: geralmente o núcleo ou kernel do programa de um mc é colocado dentro de um loop eterno algo como
 

while(1)

{

//..

}

ou

for(;;) //meu preferido

{

//..

}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Entendi amigo. Neste caso você deve estar esquecendo de setar o hardware. P.ex. tenta colocar tudo em zero pra início de conversa

void main()

{

output_low(pin_d2);

output_low(pin_d3);

if (input (pin_a1))

{

output_high(pin_d2);
delay_ms(100);
output_low(pin_d2);
delay_ms(100);
output_high(pin_d3);
delay_ms(100);
output_low(pin_d3);

}

 

}

Mas eu não gosto deste compilador em nem do estilo de programação dele. No caso você precisa iniciar o hw antes mostrar pra ele o que deve ser feito. Não sei como ele faz isso.

 

Não te esqueças de colocar no loop que te falei senão ele vai fazer o que tem que fazer uma vez só... a não ser que seja isso mesmo que desejas.

Você pode também estar errando no circuito. Publique-o --- se achar que deve...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!