Hola,
Tengo una duda con el sleep, concretamente no se si lo he ubicado en el sitio exacto del código. Lo que quiero es que al pulsar un botón (INT_EXT) se duerma el PIC y sólo se despierte al volver a pulsar. El sistema es una máquina de estados y uno de ellos es el modo sleep en el que no se hace nada (obvio).
Este es la parte de código:
#INT_EXT
void mode_button()
{
if(mode != SLEEP)
{
save_current_mode();
mode = SLEEP;
sleep();
}
else
{
load_prev_mode();
}
}
Las dos funciones del código sirven para guardar el estado del sistema y poner las salidas a cero para no consumir y para cargarlo de nuevo el estado que había antes del sleep, respectivamente.
La duda es, el Timer1 me va a despertar si no lo deshabilito antes del sleep, no? Al volver del sleep, se ejecuta la interrupción entera o se sigue después del sleep?
Mil gracias!!