Autor Tema: Como convive el WDT y TMR0 .... ?  (Leído 9128 veces)

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

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #30 en: 20 de Agosto de 2004, 13:46:00 »
Yo sostengo seriamente lo que dice Angulo.

Me paso que hice un programa utilizando el WDT y ademas esperaba una interrupcion por teclado durmiendo el micro con Sleep.
Nunca me explicaba porque no andaba, si todo estaba OK!! Es mas lo simulaba en MPLAB y estaba correcto, solo que armado no funcionaba.

Esto fue asi hasta que desprograme el uso del WDT.

Aclaro que reseteaba el WDT por software en el programa, pero no anduvo, se llevan muy mal entre las funciones estas...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #31 en: 20 de Agosto de 2004, 13:53:00 »
Curiosa contradicción. Bueno, pues entonces tendremos que probarlo...


Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #32 en: 20 de Agosto de 2004, 16:31:00 »

Bueno, ya estoy en casa. Me da un poco de flojera conectar el escaner, pero les voy a decir lo que dice el libro: Microcontroladores PIC Diseño práctico de aplicaciones Primera parte PIC16F84, 3ra edición de Angulo

Capítulo 7, Página 100

Cito: "La instrucción clrwdt borra el WDT y reinicia su cuenta. Sin embargo, la instrucción sleep, además de borrar WDT, detiene al sistema y lo mete en un estado de <<reposo>> o <<de bajo consumo>>. Si no se desactiva el Perro Guardián al entrar en el modo de reposo, al completar su contaje provocará un Reset y sacará al microcontrolador del modo de bajo consumo."

Bueno, esa es la teoría, pero como dice el amigo Manolo, lo más sano es probarlo.

Saludos,

Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 783
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #33 en: 20 de Agosto de 2004, 22:41:00 »
Bueno parece que ahi hay un errorsito ya que el programa que subi dice lo contrario ya que al desbordarse el WDT estando en Sleep el pic, solo lo despierta para que siga con la siguiente instruccion donde se durmio. ...saludos   armado en un entrenador lo comprobe..
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #34 en: 21 de Agosto de 2004, 01:09:00 »
[cita title=Escrito originalmente por Carlete71]
al completar su contaje provocará un Reset y sacará al microcontrolador del modo de bajo consumo."
[cita]

Quizás esta frase pueda interpretarse como "despertar" al PIC y seguir por la siguiente instrucción. Seguramente hemos entendido mal la palabra RESET y de ahí viene la contradicción.

Después de la prueba de Micom yo creo que está claro el funcionamiento.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #35 en: 21 de Agosto de 2004, 01:52:00 »
Un reset es un reset lo mires por donde lo mires no?

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #36 en: 21 de Agosto de 2004, 08:06:00 »

Que cosas no? Fíjense que en esta guía que conseguí en la WEB, que por cierto se las estoy dejando aquí:

http://miarroba.com/foros/ver.php?foroid=256746&temaid=2224840

Habla en la página 84 del reset y coloca un cuadro bien curioso donde pareciera apoyar la teoría del amigo Micom, ya que pareciera que en caso de que el WDT se desborde cuando se está en Sleep, eso implica que PC=PC+1 Así que toma más fuerza la teoría de que el pana Angulo se peló Bueno todos tenemos derecho no? jajajaja

Saludos,

Desconectado adrian2a1

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 75
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #37 en: 22 de Agosto de 2004, 02:42:00 »
Yo pensaba que el desbordamiento del WDT provocaba siempre un
reset y el reinicio del sistema y creía que T0ni0 estaba equivocado.
Pero investigándolo en el libro que yo uso, probé el siguiente programa
que demuestra que el amigo T0ni0 tenía razón (y que yo estaba equivocado).
;
Codigo:
   ===================================================================
;     Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;     E. Palacios, F. Remiro y L. López.
;      Editorial Ra-Ma.  www.ra-ma.es
;   ===================================================================
;
; Este programa comprueba el funcionamiento de la instrucción "sleep" y el "Watchdog".
; El PIC se pone en modo bajo consumo. El despertar del mismo se producirá cada vez que el
; Watchdog desborde su cuenta, en ese momento se producirá un incremento de un contador que se
; visualizará en pantalla. El proceso debe repetirse cada medio segundo aproximadamente.
;
; Con un preescaler de 32 el desbordamiento del Watchdog se producirá cada
; 18 x 32 = 576 ms, es decir, cada medio segundo aproximadamente.

; ZONA DE DATOS **********************************************************************

   __CONFIG   _CP_OFF &  _WDT_ON & _PWRTE_ON & _XT_OSC

; Observad que se ha habilitado el Watchdog.

   LIST      P=16F84A
   INCLUDE  <P16F84A.INC>

   CBLOCK   0x0C
   Contador
   ENDC

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0
Inicio
   call   LCD_Inicializa
   bsf   STATUS,RP0
   movlw   b"00001101"   ; Un prescaler de 32 es asignado al Watchdog.
   movwf   OPTION_REG
   bcf   STATUS,RP0
   clrf   Contador      ; Inicializa el contador y lo visualiza.

; La sección "Principal" es de mantenimiento. Visualiza y pasa a modo bajo consumo
; del cual solo puede salir por desbordamiento del Watchdog.

Principal
   call   LCD_Linea1
   movf   Contador,W   ; Pasa a visualizar el contador.
   call   BIN_a_BCD   ; Se debe visualizar en BCD.
   call   LCD_Byte      ; Visualiza el contador.
   sleep         ; Pasa a modo de bajo consumo.
   incf   Contador,F   ; El Watchdog incrementa el contador.
   goto   Principal

   INCLUDE  <RETARDOS.INC>
   INCLUDE  <BIN_BCD.INC>
   INCLUDE  <LCD_4BIT.INC>
   END
   
;   ===================================================================
;     Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;     E. Palacios, F. Remiro y L. López.
;      Editorial Ra-Ma.  www.ra-ma.es
;   ===================================================================


Efectivamente: en el modo SLEEP un desbordamiento del Watchdog provoca
que se ejecute la siguiente instrucción, NO el reinicio del programa.

Gracias amigos, me han provocado a investigar y aprender algo nuevo.

Saludos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #38 en: 23 de Agosto de 2004, 02:44:00 »
Por fin ya lo tenemos claro. Ha sido un debate muy interesante.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #39 en: 23 de Agosto de 2004, 06:40:00 »
Todos nos podemos equivocar, pero en este caso Angulo no lo hizo. Tengo la 2ªEd de Microc. PIC Diseño Práctico de Aplicaciones y en la pg. 129 dice claramente que hay 3 formas de sacar al PIC del SLEEP:

- MCLR
-Desbordamiento del perrito
- Interrupción (salvo la del TMR0 que no cuenta pulsos)

Y luego encuadrado pone que: Cuando se despierta el PIC ... se pasa a ejecutar la siguiente instrucción a sleep (PC+1).

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Como convive el WDT y TMR0 .... ?
« Respuesta #40 en: 25 de Agosto de 2004, 19:30:00 »

Tienes razón Pocher. Yo tengo la tercera edición y la tabla de la que hablas está en la página 119 Tal vez fue un error de la imprenta o la traducción en la página 100 de la 3ra edición donde se habla del WDT.

Saludos,


 

anything