TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: M.C_Barquin en 29 de Noviembre de 2003, 08:37:00

Título: Sleep como on/off
Publicado por: M.C_Barquin en 29 de Noviembre de 2003, 08:37:00
Hola amigos: Soy un novato en esto de los pic´s. Me gustaria saber si con el nemónico sleep se puede realizar un sistema de on/off. Es decir por ejemplo, en un sistema de control de climatización casero controlado por pic, cuando yo quiera pulsando un botón dejo al micro en sleep y se apaga todo el sistema de climatización. Si quiero encender el sistema otra vez, le provoco un reset o una interrupción al micro a traves de un botón y lo pongo en funcionamiento otra vez. Es esto psible?. Gracias
Título: RE: Sleep como on/off
Publicado por: todopic en 29 de Noviembre de 2003, 08:57:00
Hola, eso es correcto, lo ideal seria testear un pin del micro, si es pulsado, lo manda a una rutina de grabacion en la eeprom de los registros que emplees en tu programa... y luego lo mandas a SLEEP
con un circuito de reset por pulsador a MCLR, lo despiertas , y lo primero que haria luego del reset, seria configurar puertos y cargar los datos de la eeprom...


Suerte!

Norberto
Título: RE: Sleep como on/off
Publicado por: M.C_Barquin en 29 de Noviembre de 2003, 09:04:00
Muchas gracias Norberto, espero que poco a poco me vaya saliendo el proyecto de climatización. Soy muy novato, no soy ni electrónico ni informático pero me gusta mucho y estudio de eso.Tenía esta idea pero quería que me lo corroborara una persona que sabe de esto. Gracias.
Título: Re: Sleep como on/off
Publicado por: plutonn en 15 de Abril de 2013, 12:18:28
Hola amigos: Soy un novato en esto de los pic´s. Me gustaria saber si con el nemónico sleep se puede realizar un sistema de on/off. Es decir por ejemplo, en un sistema de control de climatización casero controlado por pic, cuando yo quiera pulsando un botón dejo al micro en sleep y se apaga todo el sistema de climatización. Si quiero encender el sistema otra vez, le provoco un reset o una interrupción al micro a traves de un botón y lo pongo en funcionamiento otra vez. Es esto psible?. Gracias

Voy a resucitar este hilo..., precisamente es lo que necesito, uso un pulsador como Ext int, lo que quiero que una pulsacion apague mandando a dormir y una vez en sleep le doy otra pulsacion y que despierte ejecutando la pulsacion como encendido, pero el problema reside que, cuando estan en sleep y le doy una vez al boton no hace nada, es necesario 2 pulsaciones , supongo que en la primera despierta en la segunda ejecuta la rutina que tengo en el vector interrupcion ext.
Para hacer lo que se propone en este hilo serian necesarios 2 botones ¿no?.
¿Que opciones tengo?

Saludos.
Título: Re: Sleep como on/off
Publicado por: BrunoF en 15 de Abril de 2013, 12:48:43
Una vez que el uC está en modo sleep sólo es posible despertarlo mediante una interrupción (o mediante reset/reencendido). Por lo tanto, seguramente se trate de un error en el diseño del algoritmo, lo que hace que requieras de 2 pulsaciones.
Título: Re: Sleep como on/off
Publicado por: plutonn en 15 de Abril de 2013, 20:19:34
Una vez que el uC está en modo sleep sólo es posible despertarlo mediante una interrupción (o mediante reset/reencendido). Por lo tanto, seguramente se trate de un error en el diseño del algoritmo, lo que hace que requieras de 2 pulsaciones.

Ya lo he solucionado, tenia en el propio vector de int ext la instruccion sleep, al sacarla del vector me funciona, una pulsacion lo envia a dormir y otra lo despierta, asi como ejecuta la secuencia que corresponde.
¿es normal, o es el compilador?

Título: Re: Sleep como on/off
Publicado por: jim_17 en 16 de Abril de 2013, 11:12:25
Es normal,

Ejecutar el sleep dentro de la interrupción hace que el programa se quede en la interrupción mientras esta dormido, al volver a ejecutar la interrupción esta no hace nada ya que todavía no has salido de la interrupción debido al sleep.

La solución que has propuesto es la correcta.

Un Saludo.