Página 1 de 1
Watch Dog feito na unha

Enviado:
17 Set 2012 17:42
por Cefas
Alguem teria uma ideia de como fazer um WDT feito manualmente em C, tipo uma rotina que analisasse uma entrada que a cada 1ms tenha um pulso de 500us em nivel alto e 500us em nivel baixo, se esse pulso não aconteça aciona uma saida.
Cefas

Enviado:
18 Set 2012 07:37
por ze
01 maneira
50% sw 50% hw. coloque este sinal numa entrada de contador p.ex. TMR0. Zere TMR0. reserve.
Com interrupt TMR1 verifique a cada passagem se TMR0 incrementou algumas unidades. Se não, solte o cachorro. Zere TMR0 de novo
Se for pra reset no pino, compensa mais um pnp-capacitor-diodo-resistores fazendo com que a ausência do sinal eleve o reset
De nada.

Enviado:
18 Set 2012 19:02
por Maffeis
tem chips que fazem isso
devem ser ligados no pino de reset do controlador
joguei no google apareceu ata6025 e ADM697
não vi os datasheets

Enviado:
18 Set 2012 23:34
por barboza
Há uns 10 anos, fizemos um WDT para o 8031 usando um 555 no modo mono-estável.
De tempo em tempo, o 8031 gerava um pulso na entrada do 555, se este pulso não ocorresse, um pulso seria gerado na saída do 555 ligado ao pino de reset do 8031.
Resolveu o problema na época!