ISR mit bestimmtem Code wird nicht ausgeführt

Gast #4015916
Lesenswert?

Hallo,

ich hatte mal ein seltsames Phänomen, bei dem durch Hinzufügen von 
weiterm Code zu einer ISR diese einfach nicht mehr ausgeführt wurde. Da 
ich den Probelcode nicht mehr habe hier ein Beispiel, wie es ungefähr 
aussah:
1
ISR (IRGENDWAS_vect) {
2
    if (++abc == 0)
3
        abc_ovfl = 1;
4

5
    if (++def == 0)
6
        def_ovfl = 1;
7
    
8
    if (irgendwas anderes) {
9
        // ...
10
    }
11
}

Das hatte so auch funktioniert, warum auch nicht. Dann habe ich
1
    if (++ghi == 0)
2
        ghi_ovfl = 1;
hinzugefügt und die ISR wurde nicht mehr ausgeführt. Gar nicht mehr. 
Habe ich bei abc, def oder ghi die if-Bedinungen sowie "xxx_ovfl = 1;" 
weggelassen, wurde die ISR wieder problemlos ausgeführt.

Warum ist das so? Warum beeinflusst der Code in der ISR, ob sie 
ausgeführt wird?

Danke schon mal

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