Que tal amigos,
En efecto lo que se realiza es la primera opcion, pero se puede tambien realizar la sugunda opcion.
Primero hablaremos de la priemra opcion. Cuando el microcontrolador esta en modo sleep y ocurre una interrupcion, este despuierta y atiende la interrupcion y al terminar regresa con la siguiente intruccion despues del sleep.
Para la segunda opcion se puede lograr dimplemente colocando un salto incondicional a que regrese a ejecutar el modo sleep. Asi pues seria:
bajo_consumo:
sleep
rjmp bajo_consumo
Como se ve el micro ejecuta la instruccion de sleep y se va a modo de bajo consumo, pero el apuntador de instrucciones esta en la direccion correspondiente a la instruccion rjmp bajo_consumo. Entonces se genera una interrupcion, el micro despuierta y atiende la interrupcion al regresar de la interrupcion el contador de programa regresa a la instruccion de rjmp bajo_consumo y ahi nuevamente se encuentra con el sleep y otra vez el microcontrolador se va a modo de bajo consumo.
Espero haber sido claro en esta explicacion.
Saludos.
Elreypic.