Página 1 de 1

PIC12F519 problemas ao configurar o WDT

MensagemEnviado: 02 Ago 2012 09:26
por Cefas
Olá pessoal,

Estou a usar o PIC12F519 em uma app que o mesmo fica em modo SLEEP e ápos 5,0 s acorde através do WDT, porem não estou conseguindo resetar o WDT para impedir que o mesmo reset em 2,3s.
Alguem poderia me ajudar?

MensagemEnviado: 02 Ago 2012 11:00
por RobL
Como o WDT tem seu oscilador próprio, independente do clock, parece que o maior tempo para este CI é de 2,3s ( prescaler para 128).
Mas tem como fazer isto pelo timer, ajustando-o para 5 seg. Ao setar o flag, sai do modo sleep.

Vamos aguardar observações de piqueiros mais experientes.

MensagemEnviado: 03 Ago 2012 01:27
por Cefas
Então RobL, esse PIC não da para acordar pelo TMR0, somente alguns pinos e possivel despertar o PIC do modo SLEEP. Tirando a possibilidade de acordar por uma entrada só resta o WDT para acordar.
O meu problema e que não consigo resetar o WDT para evitar que o mesmo estoure a cada 2,3s....

MensagemEnviado: 03 Ago 2012 08:42
por ze
desconheço o hw. pregui de ver o ds. mas acho que pode ser por sw. o reset por wdt no sleep não recomeça do zero. voce pode incrementar uma variável a cada acordada do sleep. algo assim:
Código: Selecionar todos
char a;
for(;;)
{
asm("sleep");
if (a++>1)    { // vai dar duas! e dormindo!!
      a=0;
      //faça o que tem que fazer em menos que 2s ou alguns asm("clrwdt")´s;
      //etc;
      }
}
não vai dar extatos 5s mas voce pode ajustar o tempo do wdt e/ou o valor de incremento de "a". não deve comprometer muito o consumo
abç