Globale oder lokale Variablen bei IRQ?

OP #2263532
Lesenswert?

Hi Leute,
ich habe eine prinzipielle Frage zur Interrupt-Programmierung. Folgende 
zwei Möglichkeiten schweben mir vor:

Möglichkeit 1:
Ich habe eine Moduldatei, in der ich LOKAL Zählvariablen deklariere. 
Diese sollen alle 150ms per IRQ erhöht oder erniedrigt werden, je nach 
Status eines Portbits. SOmit müsste die IRQ-Routine eine Funktion dieses 
Moduls aufrufen, die wiederum die LOKALEN Zählvariablen editiert.


Möglichkeit 2:
Alles wird per GLOBALEN Zählvariablen erledigt, sprich ich deklariere 
die Zählvariablen im Modul "extern".



Meine Frage zielt nun darauf ab, dass es ja eigentlich Gebot ist, die 
IRQ-Routine so kompakt wie möglich zu halten, ich bei Möglichkeit 1 ja 
allerdings innerhalb der IRQ-Routine einen weiteren Funktionsaufruf 
habe. Die variablen wären hier allerdings lokal.

Was würdet ihr nehmen?

Danke und Gruß.

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