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.
|