When the SM[2:0] bits are written to '001',
the SLEEP instruction makes the MCU enter ADC Noise Reduction mode, stopping the CPU but
allowing the ADC, the external interrupts, the 2-wire Serial Interface address watch,
Timer/Counter2(1), and the Watchdog to continue operating (if enabled).
This sleep mode basically halts clkI/O, clkCPU, and
clkFLASH, while allowing the
other clocks to run.
This improves the noise environment for the
ADC, enabling higher resolution measurements. If the ADC is enabled, a conversion starts
automatically when this mode is entered. Apart from the ADC Conversion Complete interrupt,
only these events can wake up the MCU from ADC Noise Reduction mode:
- External Reset
- Watchdog System Reset
- Watchdog Interrupt
- Brown-out Reset
- 2-wire Serial Interface address match
- Timer/Counter2 interrupt
- SPM/EEPROM ready interrupt
- External level interrupt on INT
- Pin change interrupt
Note: 1. Timer/Counter2 will only keep running in asynchronous mode.