The library <avr/power.h> makes it easy to shut down all unneeded hardware of an ATmega controller.
The documentation of this library shows all available instructions and also on which controllers they are working. As I didn’t find this very readable I copied the table and deleted everything that doesn’t apply to the ATmega328P.
Here is the list of instructions from the power library for the ATmega328P, the chip of the arduino Uno board:
Power Macro | Description |
power_adc_enable() | Enable the Analog to Digital Converter module. |
power_adc_disable() | Disable the Analog to Digital Converter module. |
power_spi_enable() | Enable the Serial Peripheral Interface module. |
power_spi_disable() | Disable the Serial Peripheral Interface module. |
power_timer0_enable() | Enable the Timer 0 module. |
power_timer0_disable() | Disable the Timer 0 module. |
power_timer1_enable() | Enable the Timer 1 module. |
power_timer1_disable() | Disable the Timer 1 module. |
power_timer2_enable() | Enable the Timer 2 module. |
power_timer2_disable() | Disable the Timer 2 module. |
power_twi_enable() | Enable the Two Wire Interface module. |
power_twi_disable() | Disable the Two Wire Interface module. |
power_usart0_enable() | Enable the USART 0 module. |
power_usart0_disable() | Disable the USART 0 module. |
power_all_enable() | Enable all modules. |
power_all_disable() | Disable all modules. |
Hope this helps
heliosoph
Pingback: Arduino - Sleep etc | Pearltrees