Ich check das einfach nicht. Ich habe das ganze jetzt mal isoliert und ein einfaches Programm geschrieben.
Also wir haben die Lichtschranke, die bei Auslösung in der lichtschranke_isr einfach nur eine meldung per print plus einen Zaehler ausgibt.
Das klappt auch ohne Probleme - sprich, wenn die Lichtschranke unterbrochen ist, dann kommt nix und wenn die Lichtschranke ununterbrochen ist, dann kommt die Meldung und ein Zaehler.
Dann habe ich zwei Taster. Der eine schaltet den Int2 per "enable Int2" an und der andere per "disable Int2" aus.
Ist der Int2 disabled kommt auch keine Meldung mehr.
Wenn ich aber hingehe und während der Int2 disabled ist, die Lichschranke einmal auslöse und danach den Int2 irgendwann wieder enable, dann bekomme ich sofort die Meldung (d.h. der Interrupt wird ausgelöst) plus einen um eins erhöhten Zähler.
Wie kann das sein????
In dem Moment, wo ich den int2 wieder enable, wird doch an der Lichtschranke nichts ausgelöst. Als hätte er die Auslösung während er disabled war irgendwo gespeichert.
Kann sich da jemand eine Reim drauf machen.
Grüße
Markus
Lesezeichen