Logo

Register für externe Interrupts

Für die Funktionalität externer Interrupts sind mehrere Funktionsregister zuständig.

Grundsätzlich gilt: Interrupts können nur bei gesetztem Global Interrupt Enable Bit I abgearbeitet werden.

External Interrupt Control Register A: EICRA

Bit Nr. 7 6 5 4 3 2 1 0
SREG (0x69) - - - - ISC11 ISC10 ISC01 ISC00
Read/Write - - - - R/W R/W R/W R/W
Initial Value - - - - 0 0 0 0

Interrupt Sense Control 1 ISC1[1:0]

Diese Bits stellen die Funktion des INT1 Pins (PD3) ein. Es gibt mehrere Möglichkeiten, wann ein IRQ ausgelöst werden soll. Diese ergeben sich aus der unten dargestellten Tabelle.
Wenn ein Puls sicher einen Interrupt auslösen soll, muss er mindestens eine Taktperiode lang sein. Soll ein LOW-Level einen Interrupt auslösen, muss dieser mindestens so lange anliegen bis der aktuelle Befehl von der CPU abgearbeitet wurde.

ISC11 ISC10 Beschreibung
0 0 Ein IRQ wird bei einem LOW-Level am INT1 Pin (PD3) ausgelöst.
0 1 Ein IRQ wird bei einem Pegelwechsel (Level-change) am INT1 Pin (PD3) ausgelöst (Toggle-Modus).
1 0 Ein IRQ wird bei einer fallenden Flanke am INT1 Pin (PD3) ausgelöst.
1 1 Ein IRQ wird bei einer steigenden Flanke am INT1 Pin (PD3) ausgelöst.

Interrupt Sense Control 0 ISC0[1:0]

Diese Bits stellen die Funktion des INT0 Pins (PD2) ein. Es gibt mehrere Möglichkeiten, wann ein IRQ ausgelöst werden soll. Diese ergeben sich aus der unten dargestellten Tabelle.
Wenn ein Puls sicher einen Interrupt auslösen soll, muss er mindestens eine Taktperiode lang sein. Soll ein LOW-Level einen Interrupt auslösen, muss dieser mindestens so lange anliegen bis der aktuelle Befehl von der CPU abgearbeitet wurde.

ISC01 ISC00 Beschreibung
0 0 Ein IRQ wird bei einem LOW-Level am INT0 Pin (PD2) ausgelöst.
0 1 Ein IRQ wird bei einem Pegelwechsel (Level-change) am INT0 Pin (PD2) ausgelöst (Toggle-Modus).
1 0 Ein IRQ wird bei einer fallenden Flanke am INT0 Pin (PD2) ausgelöst.
1 1 Ein IRQ wird bei einer steigenden Flanke am INT0 Pin (PD2) ausgelöst.

External Interrupt Mast Register: EIMSK

Bit Nr. 7 6 5 4 3 2 1 0
SREG (0x3D) - - - - - - INT1 INT0
Read/Write - - - - - - R/W R/W
Initial Value - - - - - - 0 0

External Interrupt Request 1 Enable INT1

Dieses Bit muss gesetzt sein damit ein IRQ von diesem Pin ausgelöst werden kann. Dabei ist es unerheblich, ob der Pin als Ein- oder Ausgang definiert ist.

External Interrupt Request 0 Enable INT0

Dieses Bit muss gesetzt sein damit ein IRQ von diesem Pin ausgelöst werden kann. Dabei ist es unerheblich, ob der Pin als Ein- oder Ausgang definiert ist.