Atmel ATmega328P Xplained Mini MEGA328P-XMINI MEGA328P-XMINI Data Sheet

Product codes
MEGA328P-XMINI
Page of 657
71
ATmega48A/PA/88A/PA/168A/PA/328/P [DATASHEET]
Atmel-8271H-AVR- ATmega-Datasheet_08/2014
13.
External Interrupts
The External Interrupts are triggered by the INT0 and INT1 pins or any of the PCINT23...0 pins. Observe that, if 
enabled, the interrupts will trigger even if the INT0 and INT1 or PCINT23...0 pins are configured as outputs. This 
feature provides a way of generating a software interrupt. The pin change interrupt PCI2 will trigger if any 
enabled PCINT[23:16] pin toggles. The pin change interrupt PCI1 will trigger if any enabled PCINT[14:8] pin 
toggles. The pin change interrupt PCI0 will trigger if any enabled PCINT[7:0] pin toggles. The PCMSK2, 
PCMSK1 and PCMSK0 Registers control which pins contribute to the pin change interrupts. Pin change 
interrupts on PCINT23...0 are detected asynchronously. This implies that these interrupts can be used for 
waking the part also from sleep modes other than Idle mode.
The External Interrupts can be triggered by a falling or rising edge or a low level. This is set up as indicated in 
the specification for the External Interrupt Control Registers – EICRA (INT2:0). When the external interrupt is 
enabled and is configured as level triggered, the interrupt will trigger as long as the pin is held low. Low level 
interrupts and the edge interrupt on INT2:0 are detected asynchronously. This implies that these interrupts can 
be used for waking the part also from sleep modes other than Idle mode. The I/O clock is halted in all sleep 
modes except Idle mode.
Note:
Note that if a level triggered interrupt is used for wake-up from Power-down, the required level must be held long 
enough for the MCU to complete the wake-up to trigger the level interrupt. If the level disappears before the end of 
the Start-up Time, the MCU will still wake up, but no interrupt will be generated. The start-up time is defined by the 
SUT and CKSEL Fuses as described in 
.
13.1
Pin Change Interrupt Timing
An example of timing of a pin change interrupt is shown in 
.
Figure 13-1.
Timing of pin change interrupts
clk
PCINT(0)
pin_lat
pin_sync
pcint_in_(0)
pcint_syn
pcint_setflag
PCIF
PCINT(0)
pin_sync
pcint_syn
pin_lat
D     Q
LE
pcint_setflag
PCIF
clk
clk
PCINT(0) in PCMSK(x)
pcint_in_(0)
0
x