Forum: Mikrocontroller und Digitale Elektronik Interrupt Handling Infineon XC886


von Dirk (Gast)


Lesenswert?

Hallo Zusammen,
ich habe folgende Frage zum Handling einer Interruptanforderung.

Das Flag EXF2 löst einen Interrupt (Einsprung Adresse 00B2) aus, diese 
Anforderung wird in einer Interrupt Routine bearbeitet. Während der 
Bearbeitung wird eine weiterere Interruptanforderung durch das Flag TF2 
ausgelöst, dieser hat die gleiche Einsprungadresse (00B2) wie das Flag 
EXF2.

Meine Frage
Nach dem die Erste Interruptanforderung durch den Reti Befehl 
vollständig bearbeitet wurde, wird dann im Anschluss die 
zwischenzeitlich erneute Anforderung - urch das Flag TF2- bedient, oder 
wird diese Anforderung durch den Reti Befehl der abgearbeiteten ersten 
Anforderung ignoriert.

Wäre schön wenn ich eine schnelle Antwort erhalten könnte.

Viele Dank...

Dirk

Controller: XC886 von Infineon

von Peter D. (peda)


Lesenswert?

Dirk schrieb:
> wird diese Anforderung durch den Reti Befehl der abgearbeiteten ersten
> Anforderung ignoriert.

Reti mach garnichts mit den Flags.

Manche Flags werden beim Interrupt-Eintritt automatisch gelöscht, andere 
müssen händisch gelöscht werden.


Peter

von Dirk (Gast)


Lesenswert?

Hallo Peter,
ja, mit den Flags nicht.
Die Frage war nur die, ob das Flag in dem Fall "TF2" bearbeitet wird, 
wenn bei gleicher Einsprungadresse die Erste Anforderung  "EXF2" 
abgearbeitet und durch den Befehl Reti vollständig abgeschlossen wurde. 
So das mir keine Interruptanforderung verloren geht, wenn diese in der 
Bearbeitung einer vorherigen Anforderung generiert wurde. Natürlich 
immer bezogen auf die gleiche Sprungadresse z.B.(00B2) Diese 
Einsprungadresse wird von beiden Flags genutzt (EXF2 und TF2).

Das der Reti Befehl keine Flags beeinflusst ist mir klar.

Wenn ich dich richtig verstehe wird nach Abschluß der ersten Interrupt 
Routine (verursacht durch EXF2) eine erneute Interrupt Anforderung z.B. 
durch (TF2) bearbeitet, auch wenn diese während der Bearbeitungsdauer 
von "EXF2" verursacht wurde und die gleiche Einsprungadresse hat (00B2).

Viele Dank für deine Mühe
Gruss Dirk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.