Pic18f25j10 sleep()

Hola a todos, estoy trabajando con el PIC18F25J10 y quiero añadirle un SLEEP(), pero me han surgido un par de dudas.

¿Puedo despertarlo del SLEEP() mediante una interrupción de la UART (int_rda)? Es decir, que se despierte sólo cuando reciba algo o sólo mediante TIMER0 y WDT.

Una vez despierto (ya sea por la uart o por timer0) se ejecutará la rutina asociada, pero, una vez ejecutada esta rutina ¿el programa ejecutará la instrucción siguiente al SLEEP() o volverá a dormirse a la espera de otra interrupción? Dependiendo de que haga una cosa u otra tendré que modificar el código.

Ahora mismo el código lo tengo sin modo SLEEP() y me gustaría añadirselo para minimizar el consumo, por esto, os dejo aquí la duda a la espera de que alguno sepa aportar algo de luz.

¿Quizás sería mejor usar IDLE en vez de SLEEP, para poder usar los periféricos, es decir, la UART ?

Muchas gracias, un saludo.
 
Última edición:
Atrás
Arriba