Ir ao conteúdo

PIC como eu faço para delisgar o pic quando termina o processo?


Ir à solução Resolvido por .if,

Posts recomendados

Postado

quero fazer com que depois de fazer a rotina que determinei o pic desligue todos os relés, como se fosse um shutdown, simplesmente desligando tudo sem iniciar o comando de novo

alguém conhece alguma maneira de fazer isso?

  • Membro VIP
  • Solução
Postado

Minimalisticamente falando (escrevendo)
 

void main(void)
{

for(;;)
{
//sua_inicialização_do_hw()
//seu_processo();
PORTA=PORTB=PORTC=PORTD=PORTE=0; //PORTn=0...//desliga tudo que for acionado em 1
asm("sleep"); //shut down opcional.. consulte datasheet
for(;;); //nunca mais sai daqui até desligar/religar
}

}

De novo.. se achar que ctrl-c ctrl-v vai resolver sua vida, receba um cóqui virtual

Também pode usar um transistor e/ou relé para autodesligar o sistema incluindo o mc. Tô sem lápis e papel...

  • Membro VIP
Postado

Fala sério... fala sério? Minha bola de cristal até que não tá tão ruim...Receba portanto o cóqui -agora mais forte - de minha premonição 😡...

Amigo mostra o que você [você] já fez pra tentamos puxar a corda. Fala qual compilador, qual pic, qual seu nível técnico, financeiro, idade, signo, religião, cpf, identidade, conta, senha, kk brinc 😁

ah e o mais importante: não queime a etapa do pisca led. Faça, domine, entenda e me mostra ok?

  • Curtir 1
  • Haha 1
Postado

@.if kkkkkkkkkkkkkk

meu compilador é o ccs, estou usando o pic 18f4620 e meu nivel tecnico e basicamente de um iniciante, ate agora usei apenas o comando if e delay_ms

 

void main ( )

{

 

    if (!input (pin_a1))
  {
  output_high(pin_d2);
  delay_ms(600);
  output_low(pin_d2);
  }
  
  if (input  (pin_a2))
  {
  output_high(pin_d3);
  }
  
   if (input (pin_a3))
    {
    output_high(pin_c6);
    delay_ms(800);
    output_high(pin_c6);
    delay_ms(300);
    output_high(pin_d6);
    delay_ms(300);
    output_high(pin_d5);
    delay_ms(300);
    output_high(pin_d4);
    delay_ms(300);
    output_high(pin_c7);
    }

}

  • Membro VIP
Postado

Não uso ccs mas...

Apesar de semióbvio, permita-me... no final coloca outup_low() em todos os pinos que antes estavam high. O que é um pouco menos de óbvio (mas ainda é) é você finalizar com for(;;); Como te disse lá em cima, ele trava e só volta se desligar/religar..... . . .. . . ... situação atípica de um projeto dôido...Pra endoidá-lo ainda mais (ou menos.. ou +ou-) eu (eu) usaria uma saída pra desligar a alimentação do sistema no final. Continuo...

23 horas atrás, .if disse:

sem lápis e papel...

😜

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