TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: DarkVect en 13 de Abril de 2007, 09:17:13

Título: Problema al activar el watchdog en aplicación con lcd (SOLUCIONADO)
Publicado por: DarkVect en 13 de Abril de 2007, 09:17:13
Hola a todos! Tengo una aplicación que funciona pefectamente sin el watchdog. El problema que tengo está localizado en la rutina de inicialización del lcd que tiene un delay_ms(30) mientras que el watchdog está programado a 18ms.

Cómo puedo solucionarlo? Sólo se me ocurre editar ese delay con un for(...) y dentro de éste ir haciendo delays más pequeños e ir reseteando el watchdog, pero me parece una solución poco elegante.

Existe alguna manera de decir cuándo quieres que empiece a funcionar el watchdog?

Por si es de ayuda, el PIC es un típico 16F84A y el compilador es el CCS.

Un saludo y muchas gracias!!
Título: Re: Problema al activar el watchdog en aplicación con lcd
Publicado por: MGLSOFT en 13 de Abril de 2007, 10:03:14
La solucion a tu problema esta en la misma declaracion de las temporizaciones.

Código: [Seleccionar]
//set timing config to 32KHz, restart watchdog timer

//on delay_us() and delay_ms()

#use delay (clock=32000, RESTART_WDT)


Si buscas en la ayuda de #Use Delay veras lo que digo... :mrgreen: :mrgreen: :mrgreen:
Título: Re: Problema al activar el watchdog en aplicación con lcd
Publicado por: maunix en 13 de Abril de 2007, 10:04:46
Si no usas el timer0 con prescaler, puedes asignar el prescaler al WDT y así escalar el clock del watchdog el cual puede ir hasta algo más de 2 segundos.

Su seteo está en el OPTION_REG.

Saludos
Título: Re: Problema al activar el watchdog en aplicación con lcd
Publicado por: DarkVect en 13 de Abril de 2007, 10:32:45
Muchísimas gracias a los dos por responder.

MGLSOFT voy a mirar ahora mismo lo del delay en el manual a ver qué me estaba saltando.

Maunix, el problema precisamente radica ahí, en que tengo el timer0 escalado para controlar varios procesos y el watchdog lo tengo, por narices, al mínimo.

EDITO: SOLUCIONADO!! Ha sido poner lo del restart_wdt en la configuración y listo.

Un saludo!!
Título: Re: Problema al activar el watchdog en aplicación con lcd (SOLUCIONADO)
Publicado por: MGLSOFT en 14 de Abril de 2007, 11:10:27
Me alegro te haya servido!! :-/ :-/