User manual
Entwicklung Programmablaufplan für AVR Programme Seite: 75/152
© Laser & Co. Solutions GmbH Benutzerhandbuch SiSy
6.4 Interrupt-Service-Routinen (ISR) im PAP
Interrupt-Service-Routinen (im weiteren ISR) sind besondere Formen von Unterpro-
grammen. Diese werden von einer Interruptquelle des Mikrocontrollers (Timer, ADC,
UART, usw.) bei entsprechenden Ereignissen automatisch an beliebiger Stelle im Pro-
grammfluss aufgerufen (Unterbrechung, engl. Interrupt). Es ist demzufolge nicht vorge-
sehen, eine ISR in den Programmfluss zu integrieren.
Um eine ISR zu erzeugen, ziehen Sie ein Objekt vom Typ INT-Routine aus der Objekt-
bibliothek in das Diagramm des Hauptprogramms und definieren einen Namen.
Über rechte Maustaste -> Kontextmenü ->
Definieren … legen Sie die Sprungmarke und
den Typ des Interrupts fest. Damit erfolgt durch
den Codegenerator die Zuordnung der ISR zum
entsprechenden Interruptvektor. Beachten Sie,
dass die Liste der Interrupts abhängig vom
gewählten Controllertyp ist.
Zum Entwerfen der ISR-Logik wählen Sie auf
dem Objekt rechte Maustaste -> Kontextmenü ->
nach unten …
Ihnen wird das Grundgerüst einer ISR als Dia-
grammvorlage angeboten. Laden Sie die Dia-
grammvorlage.
Vervollständigen Sie danach die ISR-Logik. Die
ISR wird nicht in den Programmfluss integriert.
START
disable INT
Register retten
...
Register wieder
herstellen
enable INT
RETI
push
r16
push r17
push r18
push r19
in r16,SREG
push r16
pop
r16
out SREG,r16
pop
r19
pop
r18
pop
r17
pop r16
Rechts klick, Definieren