ATMEGA128-16AU SL383 Atmel, ATMEGA128-16AU SL383 Datasheet - Page 17

no-image

ATMEGA128-16AU SL383

Manufacturer Part Number
ATMEGA128-16AU SL383
Description
Manufacturer
Atmel
Datasheet
Interrupt Response
Time
2467S–AVR–07/09
When using the SEI instruction to enable interrupts, the instruction following SEI will be exe-
cuted before any pending interrupts, as shown in this example.
The interrupt execution response for all the enabled AVR interrupts is four clock cycles mini-
mum. After four clock cycles, the program vector address for the actual interrupt handling routine
is executed. During this 4-clock cycle period, the Program Counter is pushed onto the Stack.
The vector is normally a jump to the interrupt routine, and this jump takes three clock cycles. If
an interrupt occurs during execution of a multi-cycle instruction, this instruction is completed
before the interrupt is served. If an interrupt occurs when the MCU is in Sleep mode, the inter-
rupt execution response time is increased by four clock cycles. This increase comes in addition
to the start-up time from the selected sleep mode.
A return from an interrupt handling routine takes four clock cycles. During these 4-clock cycles,
the Program Counter (two bytes) is popped back from the Stack, the Stack Pointer is incre-
mented by two, and the I-bit in SREG is set.
Assembly Code Example
C Code Example
sei
sleep; enter sleep, waiting for interrupt
; note: will enter sleep before any pending
; interrupt(s)
__enable_interrupt(); /* set global interrupt enable */
__sleep(); /* enter sleep, waiting for interrupt */
/* note: will enter sleep before any pending interrupt(s) */
; set global interrupt enable
ATmega128
17

Related parts for ATMEGA128-16AU SL383