8.
Interrupts
This section describes the specifics of the interrupt handling as performed in ATmega16/32/64/M1/C1. For a general
explanation of the AVR interrupt handling, refer to Section 3.8 “Reset and Interrupt Handling” on page 16.
8.1
Interrupt Vectors in ATmega16/32/64/M1/C1
Table 8-1. Reset and Interrupt Vectors
Vector
No.
Program
Address
Source
Interrupt Definition
External pin, power-on reset, brown-out reset, watchdog reset,
and emulation AVR reset
1
0x0000
RESET
2
0x0002
0x0004
0x0006
0x0008
0x000A
0x000C
0x000E
0x0010
0x0012
0x0014
0x0016
0x0018
0x001A
0x001C
0x001E
0x0020
0x0022
0x0024
0x0026
0x0028
0x002A
0x002C
0x002E
0x0030
0x0032
0x0034
0x0036
0x0038
0x003A
0x003C
ANACOMP 0
ANACOMP 1
ANACOMP 2
ANACOMP 3
PSC FAULT(3)
PSC EC(3)
INT0
Analog comparator 0
3
Analog comparator 1
4
Analog comparator 2
5
Analog comparator 3
6
PSC fault
7
PSC end of cycle
8
External interrupt request 0
External interrupt request 1
External interrupt request 2
External interrupt request 3
Timer/Counter1 capture event
Timer/Counter1 compare match A
Timer/Counter1 compare match B
Timer/Counter1 overflow
Timer/Counter0 compare match A
Timer/Counter0 compare match B
Timer/Counter0 overflow
CAN MOB, burst, general errors
CAN timer overflow
9
INT1
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
INT2
INT3
TIMER1 CAPT
TIMER1 COMPA
TIMER1 COMPB
TIMER1 OVF
TIMER0 COMPA
TIMER0 COMPB
TIMER0 OVF
CAN INT
CAN TOVF
LIN TC
LIN transfer complete
LIN ERR
LIN error
PCINT0
Pin change interrupt request 0
Pin change interrupt request 1
Pin change interrupt request 2
Pin change interrupt request 3
SPI serial transfer complete
ADC conversion complete
Watchdog time-Out interrupt
EEPROM ready
PCINT1
PCINT2
PCINT3
SPI, STC
ADC
WDT
EE READY
SPM READY
Store program memory ready
Notes: 1. When the BOOTRST fuse is programmed, the device will jump to the boot loader address at reset, see Sec-
tion 24. “Boot Loader Support – Read-while-write Self-Programming ATmega16/32/64/M1/C1” on page 241.
2. When the IVSEL bit in MCUCR is set, interrupt vectors will be moved to the start of the boot flash section. The
address of each interrupt vector will then be the address in this table added to the start address of the boot
flash section.
3. These vectors are not used by Atmel ATmega32/64C1.
ATmega16/32/64/M1/C1 [DATASHEET]
47
7647O–AVR–01/15