Ir ao conteúdo

Posts recomendados

Postado

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
  • Membro VIP
Postado
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
Postado

@.if ela é em 1 mesmo, eu jogo o sinal nela pros relés começarem a acender mas não respeitam o if

 

@.if acabei de fazer esse teste e mesmo assim estão ativando e desativando sem respeitar o if

  • Curtir 1
  • Membro VIP
Postado

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

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...