//Power Reduction Register (PRR) // // //The next thing to experiment with is the Power Reduction Register //(PRR). This lets you "turn off" various things inside the processor. // // //The various bits in this register turn off internal devices, //as follows: // // // Bit 7 - PRTWI: Power Reduction TWI // Bit 6 - PRTIM2: Power Reduction Timer/Counter2 // Bit 5 - PRTIM0: Power Reduction Timer/Counter0 // Bit 4 - Res: Reserved bit // Bit 3 - PRTIM1: Power Reduction Timer/Counter1 // Bit 2 - PRSPI: Power Reduction Serial Peripheral Interface // Bit 1 - PRUSART0: Power Reduction USART0 // Bit 0 - PRADC: Power Reduction ADC #include #include void setup () { // disable ADC ADCSRA = 0; // turn off various modules power_all_disable (); set_sleep_mode (SLEEP_MODE_IDLE); noInterrupts (); // timed sequence follows sleep_enable(); // turn off brown-out enable in software MCUCR = bit (BODS) | bit (BODSE); MCUCR = bit (BODS); interrupts (); // guarantees next instruction executed sleep_cpu (); // sleep within 3 clock cycles of above } // end of setup void loop () { }