Time to Sleep ============= USB suspend no activity on USB line for 3ms No Interaction no user interaction matrix has no change matrix has no switch on AVR Power Management ==================== V-USB suspend USB suspend http://vusb.wikidot.com/examples MCUSR MCU Status Register WDRF Watchdog Reset Flag BORF EXTRF PORF Power-on Reset Flag SMCR Sleep Mode Control Register SE Sleep Enable SM2:0 #define set_sleep_mode(mode) \ #define SLEEP_MODE_IDLE (0) #define SLEEP_MODE_ADC _BV(SM0) #define SLEEP_MODE_PWR_DOWN _BV(SM1) #define SLEEP_MODE_PWR_SAVE (_BV(SM0) | _BV(SM1)) #define SLEEP_MODE_STANDBY (_BV(SM1) | _BV(SM2)) #define SLEEP_MODE_EXT_STANDBY (_BV(SM0) | _BV(SM1) | _BV(SM2)) ACSR Analog Comparator Control and Status Register To disable Analog Comparator ACSR = 0x80; or ACSR &= ~_BV(ACIE); ACSR |= _BV(ACD); ACD: Analog Comparator Disable When this bit is written logic one, the power to the Analog Comparator is switched off. This bit can be set at any time to turn off the Analog Comparator. This will reduce power consumption in Active and Idle mode. When changing the ACD bit, the Analog Comparator Interrupt must be disabled by clearing the ACIE bit in ACSR. Otherwise an interrupt can occur when the bit is changed. DIDR1 Digital Input Disable Register 1 AIN1D AIN0D When this bit is written logic one, the digital input buffer on the AIN1/0 pin is disabled. The corresponding PIN Register bit will always read as zero when this bit is set. When an analog signal is applied to the AIN1/0 pin and the digital input from this pin is not needed, this bit should be written logic one to reduce power consumption in the digital input buffer. PRR Power Reduction Register PRTWI PRTIM2 PRTIM0 PRTIM1 PRSPI PRUSART0 PRADC