Autor Tema: Problema al activar el watchdog en aplicación con lcd (SOLUCIONADO)  (Leído 2098 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
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!!
« Última modificación: 13 de Abril de 2007, 11:05:45 por DarkVect »

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Problema al activar el watchdog en aplicación con lcd
« Respuesta #1 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:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Problema al activar el watchdog en aplicación con lcd
« Respuesta #2 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
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: Problema al activar el watchdog en aplicación con lcd
« Respuesta #3 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!!
« Última modificación: 13 de Abril de 2007, 11:04:50 por DarkVect »

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Problema al activar el watchdog en aplicación con lcd (SOLUCIONADO)
« Respuesta #4 en: 14 de Abril de 2007, 11:10:27 »
Me alegro te haya servido!! :-/ :-/
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.


 

anything