Lokalen Variablen beim Interrupt

Gast #3188897
Lesenswert?

Hallo,
ich habe eine Verständnisfrage.

Wie werden lokale Variablen beim Interruptaufruf behandelt?

In einer Funktion außerhalb der Interruptbearbeitung wird der 
Speicherplatz der lokalen Variablen ja nach Abarbeitung der Funktion 
wieder freigegeben und ggf. für die nächste Funktion genutzt. Wenn ich 
jetzt die gleichen Funktionen bei der Interruptbearbeitung aufrufe, dann 
muss ja der Speicherbereich der lokalen Variablen ständig reserviert 
bleiben, da ich vorweg oft nicht weiß, wann er benötigt wird. Ist diese 
Überlegung so richtig? Muss ich bei Compilern diesem Problem besondere 
Beachtung schenken oder kann ich davon ausgehen, dass sie es i.A. 
richtig machen?
#3188912
Lesenswert?

Foxi schrieb:
> In einer Funktion außerhalb der Interruptbearbeitung wird der
> Speicherplatz der lokalen Variablen ja nach Abarbeitung der Funktion
> wieder freigegeben und ggf. für die nächste Funktion genutzt.

Nicht zwangsläufig. Bei 8051ern und Microchips 8-Bittern muss das 
beispielsweise nicht so sein.

> Muss ich bei Compilern diesem Problem besondere Beachtung schenken

Bei solchen Controllern/Compilern infolgedessen ja (=> reentrant).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren