User manual

7.11.7 Anwenderdefinierte Interruptroutinen ✰✰✰
Zur unverzögerten Reaktion auf die Ereignisse
· 1ms-Timerzyklus des Systems,
· High-Low-Flanken an den Digitalports P1H.0 P1H.3,
können Interruptroutinen in Assembler oder C geschrieben und im Segment 3 des FLASH-
EEPROMs gespeichert werden. Lesen Sie dazu das Kapitel “8 Systemprogrammierung”.
Das Aktivieren der anwenderdefinierten Interruptroutinen erfolgt durch Aufruf der Funktion
hook.
function hook ( int event, int segment, int offset,
int mode )
Die Funktion hook “hängt” eine anwenderdefinierte Interruptroutine in die normale
Interruptbehandlung des Systems ein. Der Parameter event gibt vor, für welche Interrupt-
quelle eine Interruptroutine aktiviert werden soll:
Die Parameter segment und offset geben die Speicheradresse der Interruptroutine im
Gesamtadreßraum des Mikrocontrollers an. Die Speicheradresse entnehmen Sie bitte den
Ausgaben Ihrer C-/Assembler-Entwicklungstools. Lesen Sie dazu die Dokumentation zu
diesen Tools.
Wenn Sie eine C-Funktion als Interruptroutine schreiben möchten, muß sie im Stil
void fx ( void )
definiert sein, also ohne Parameter und Rückgabewert.
Wird eine Interruptroutine in die normale Interruptbehandlung des Systems eingehängt,
gibt es für die Abarbeitung bei Auftreten des Interrupts drei Möglichkeiten. Die
C-Control II Unit
124
event Interruptquelle
EVENT_TIMER (0) 1 ms Timer
EVENT_P1H0 (1) Digitalport P1H.0
EVENT_P1H1 (2) Digitalport P1H.1
EVENT_P1H2 (3) Digitalport P1H.2
EVENT_P1H3 (4) Digitalport P1H.3