TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: PicMinor en 29 de Junio de 2012, 04:21:16

Título: ¿Se puede despertar al micro en modo sleep de dos formas diferentes?
Publicado por: PicMinor en 29 de Junio de 2012, 04:21:16
¡Saludos al foro!

Estoy con un proyecto en el que me encuentro con la siguiente situación:

Tengo un micro de bajo consumo (PIC16F722) al que lo alimento y lo configuro de una de estados formas:
        Estoy en modo Sleep y despierta por WDT y transcurrido cierto nº de ciclos de WDT realiza una operación determinada.
        Estoy en modo Sleep y despierta por INT EXT en RB0 y realiza una operación diferente.

El problema es que si configuro los fuses para que despierte con el WDT me introduce un retardo en la activación por INT EXT. ¿Se puede hacer un programa que inhiba o active el Watchdog?

¡Gracias por anticipado!
Título: Re: ¿Se puede despertar al micro en modo sleep de dos formas diferentes?
Publicado por: BrunoF en 29 de Junio de 2012, 13:45:30
Hola.

A que retardo te estás refiriendo? De cuántos ciclos de retardo hablamos?
Título: Re: ¿Se puede despertar al micro en modo sleep de dos formas diferentes?
Publicado por: PicMinor en 04 de Julio de 2012, 04:46:49
¡ Gracias por responder !

Cuando activo el WDT el retardo entre la señal de interrupción y la respuesta del micro es del orden de los 50ms. Si quito el WDT en los fuses el retardo es del orden de µs (Normal). Los retardos los he medido físicamente con el osciloscopio. La única diferencia entre los dos códigos es la activación en los fuses del WDT.
Título: Re: ¿Se puede despertar al micro en modo sleep de dos formas diferentes?
Publicado por: BrunoF en 04 de Julio de 2012, 12:13:07
Eso no está bien...

Podrías poner el código?
Título: Re: ¿Se puede despertar al micro en modo sleep de dos formas diferentes?
Publicado por: Palomino86 en 04 de Julio de 2012, 14:12:17
No creo que sea aplicable utilizar las 2...
Título: Re: ¿Se puede despertar al micro en modo sleep de dos formas diferentes?
Publicado por: Clemen89 en 06 de Julio de 2012, 12:43:02
¿Ocurre eso en algunos modelos de PIC?

Me refiero a lo de que si activas el perro guardián, ¿al despertar del modo sleep si es por un flanco de subida/bajada en el pin RB0 le añade un retardo a esta interrupción?
Título: Re: ¿Se puede despertar al micro en modo sleep de dos formas diferentes?
Publicado por: BrunoF en 06 de Julio de 2012, 12:48:26
No debería.

Por ahi lo que está pasando es que no estás reiniciando el contador del perro guardián cuando se produce la interr de RB0, y durante la rutina del RB0 se desborda, produce el reset y luego una vez que se ha reiniciado atiende la solicitud...