Цитата
Изначально МК находится в спящем режиме
Цитата
давайте попробуем Int настроить как Edge Triggered (а не Level Sensitive)
Edge Triggered по Int0/Int1 разбудит МК только из Idle mode.
Если под спящим режимом подразумевается ADC Noice Reduction, Power Down, PowerSave или Standby Mode, то нужно либо Level Sensitive по Int0/Int1, либо Edge Triggered по Int2.
Кроме того, для того, чтобы после вывода из power done mode в МК выставился флаг прерывания Int1, низкий уровень на пине должен удерживаться до самого старта контроллера (т.е. 2 цикла watchdog'a + время, определяемое fuse-битами SUT). При меньшем времени контроллер "проснется", но прерывание по Int1 не будет выполнено
Цитата
Note that if a level triggered interrupt is used for wake-up from Power-down mode, the changed
level must be held for some time to wake up the MCU. This makes the MCU less sensitive to
noise. The changed level is sampled twice by the Watchdog Oscillator clock. The period of the
Watchdog Oscillator is 1 μs (nominal) at 5.0V and 25°C. The frequency of the Watchdog Oscillator
is voltage dependent as shown in ”Electrical Characteristics” on page 291. The MCU will
wake up if the input has the required level during this sampling or if it is held until the end of the
start-up time. The start-up time is defined by the SUT Fuses as described in ”System Clock and
Clock Options” on page 24. If the level is sampled twice by the Watchdog Oscillator clock but
disappears before the end of the start-up time, the MCU will still wake up, but no interrupt will be
generated. The required level must be held long enough for the MCU to complete the wake up to
trigger the level interrupt.