25.4.3.2 Asynchronous Edge Detection Mode

The EXTINT edge detection can operate synchronously by writing a ‘0’ (default value) to the Asynchronous Edge Detection Mode (ASYNCH[n]) bit for the external pin ‘n’ in the External Interrupt Asynchronous Mode (ASYNCH) register, or asynchronously by writing a ‘1’ to the Asynchronous Edge Detection Mode (ASYNCH[n]) bit in the ASYNCH register.

In Synchronous Edge Detection mode, the external interrupt (EXTINT) or non-maskable interrupt (NMI) pins are sampled using the EIC clock, as defined by the Clock Selection (CKSEL) bit in the Control A (CTRLA) register. The External Interrupt flag (INTFLAG.EXTINT[n]) or Non-Maskable Interrupt flag (NMIFLAG.NMI) is set when the last sampled state of the pin differs from the previously sampled state. The EIC clock is required in this mode.

The Synchronous Edge Detection mode can be used in the Idle and Standby sleep modes.

In Asynchronous Edge Detection mode, the external interrupt (EXTINTn) pins or the non-maskable interrupt (NMI) pins set the External Interrupt flag or Non-Maskable Interrupt flag (INTFLAG.EXTINT[n] or NMIFLAG) directly. The EIC clock is not required in this mode.

The asynchronous edge detection mode can be used in Idle and Standby sleep modes. When asynchronous edge detection is enabled in Standby sleep mode, only the first edge detected will trigger an event in the Event System. Subsequent asynchronous edges will not generate events until Standby sleep mode is exited. Synchronous edge detection will not exhibit this behavior.