Autor Tema: Ayuda con __config _WDT_ON y sleep  (Leído 2029 veces)

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

Desconectado PicKetero

  • PIC12
  • **
  • Mensajes: 80
Ayuda con __config _WDT_ON y sleep
« en: 10 de Marzo de 2005, 19:37:00 »
   Hola Foro !!!
   Tengo una pregunta para hacerles, paso a explicar la duda que tengo !
   En mi programa yo tengo configurado el TMR0 para que genere interrupsiones cada sierto tiempo, cuando mi programa se encuentra con la instrucción SLEEP el TMR0 dejaría de contar ya que se detiene su fuente clock. (Hasta aquí el contexto de mi proplema) .    Ahora paso a preguntar lo siguiente, si en mi programa yo he declarado " __config  _WDT_ON "  cuando se encuentra "durmiendo" mi pic (SLEEP) por mas que en el registro OPTION_REG esté seleccionado el TMR0 y 1:8, el WatchDog puede llegar a desbordar despues de aproximadamente 1.8 ms por mas de que esté seleccionado el TMR0 como he explicado anteriormente ???

   Espero que me haya hecho entender bien !!!
    Muchas gracias por sus respuestas !!!

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: Ayuda con __config _WDT_ON y sleep
« Respuesta #1 en: 10 de Marzo de 2005, 20:10:00 »
Hola Picketero... hoy realmente mi dia fue fatal... en tu consulta, si asignas el preescalador al tmr0  , no actua el preescaler para el wdt...
si se lo asignas al wdt....  no puedes preescalar al tmr0 loco

solo asignas de a uno... el otro queda en su configuracion de menor tiempo....


Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado PicKetero

  • PIC12
  • **
  • Mensajes: 80
RE: Ayuda con __config _WDT_ON y sleep
« Respuesta #2 en: 12 de Marzo de 2005, 20:50:00 »
Hola todopic !!!
        Te cuento que hice unas pruebas con el proteus en donde probé todas las posibilidades y ya entendí bien, y es como vos decis !!!
        Lo que me tenía mal era lo que sucedia luego de la instrucción SLEEP cuando desbordaba el WDT !  ..... , y entendí que solo en este estado el WDT en su desborde solo hace "despertar" al micro ( no genera un RESET ),y si ocurria el desborde del WDT en estado "despierto" del micro por causas como ser: saltó fuera del hilo del programa y no se pudo borrar el WDT (clrwdt) en este caso si iria a parar al vector del RESET   0x00.
         Por ahí son cosillas que por ahí uno no las ve hasta que las necesita manejar y contar con el datasheet del micro ( que está en shankylandia )  que no encara el tema desde el funcinamiento del WDT en los diferentes contextos ( sleep,  el prescaler asignado al tmr0, etc., etc. ).
         Vemos en los datasheet que la palabra WDT aparece a lo largo de todo el datasheet y por esta razón cuesta reunir sus caracteristicas de funcionamiento según sea el contexto.  (creo que aquí fuí mas explicito !!! ) Muchas risas

         Nuevamente te agradezco por tu ayuda!!!!


         Nos estamos leyendo !!!!!!!!


 

anything