1.4 avr/sleep.h Library
The assembly instruction that tells the microcontroller to enter sleep is the
SLEEP instruction. For easier integration with C code, the
avr/sleep.h library was created to offer functions to facilitate
entering sleep.
The C library avr/sleep.h provides the following functions:
sleep_enable(), sleep_disable(),
set_sleep_mode(<mode>), sleep_cpu() and
sleep_mode().
The set_sleep_mode(<mode>) function takes as argument one of the
following macros: SLEEP_MODE_IDLE, SLEEP_MODE_STANDBY
or SLEEP_MODE_PWR_DOWN. Using this function with one of the macros will
set the corresponding sleep mode.
The sleep_enable() and sleep_disable() functions set
and respectively clear the SEN bit.
The sleep_cpu() function invokes the SLEEP
instruction.
The sleep_mode() function combines the previous functions. It calls
sleep_enable(), then sleep_cpu(). When the device
wakes up, the sleep_disable() function is called and then the program
continues as usual.
