Autor Tema: ¿El WatchDog borra memoria?  (Leído 2046 veces)

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

Desconectado JJcorps

  • PIC12
  • **
  • Mensajes: 51
    • Proyectos de JJcorps
¿El WatchDog borra memoria?
« en: 10 de Octubre de 2006, 13:40:37 »
Estoy haciendo una aplicacion en la que la mayoria de los datos le lleguan por i2c al micro, pero de vez en cuando se cuelga asi que le he puesto el watchdog.  Pos eso si el watchdog borra la memoria al provocar el reset.

Gracias
« Última modificación: 10 de Octubre de 2006, 13:43:15 por JJcorps »

Desconectado JJcorps

  • PIC12
  • **
  • Mensajes: 51
    • Proyectos de JJcorps
Re: ¿El WatchDog borra memoria?
« Respuesta #1 en: 11 de Octubre de 2006, 04:17:11 »
Haciendo un monton de pruebas, me respondo a mi mismo :P

NO borra la memoria sino que vuelve a empezar el contador de programa asi q las variables que tenia cargadas con valores que habia modificado se conservan (siempre que no las inicialice).

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: ¿El WatchDog borra memoria?
« Respuesta #2 en: 11 de Octubre de 2006, 12:19:56 »
Hola JJcorps, el watchdog es un reset sobre el PIC por lo tanto afecta a varios de los reguistros del mismo, si te fijas en el data sheet del pic veras cuales son, ahora el problema que provoca el cuelgue de seguro lo tienes en el programa que as realizado, ya que este si estubiera bien no provocaría tal cuelgue.

Un saludo.

Atte. CARLOS.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: ¿El WatchDog borra memoria?
« Respuesta #3 en: 11 de Octubre de 2006, 17:04:28 »
NO borra la memoria sino que vuelve a empezar el contador de programa asi q las variables que tenia cargadas con valores que habia modificado se conservan (siempre que no las inicialice).

¿Con variables te referis a registros de propósito general?

Lamentablemente, en cualquier programa siempre se inicializa alguna variable de propósito general, excepto que la inicialización ocurra leyendo de una fuente ROM, ya sea la misma EEPROM del uC u otro tipo de memoria interna/externa no volátil.
Por lo tanto, si no usas guardas los datos de las "variables" en una memoria de tipo no volátil, el programa seguramente fallará, ya que como bien dijiste el Watchdog Timer realiza un reset, lo que provoca que el programa se reinicie y la unica forma sería no inicializar ninguna variable en el programa, lo que conlleva a problemas ya que tendrías datos aleatorios al iniciar el PIC por primera vez y a partir de alli, todo va cuestas abajo.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.


 

anything