Hi, mir ist grade eben etwas seltsames aufgefallen. Ich habe in meinem AVR-Code mehrmals cli() aufgerufen, um Interrupts kurzfristig zu sperren. Offenbar habe ich dabei aber jedes Mal vergessen hinterher sei() hinzuschreiben. Es gibt nur ein einziges sei() und das steht VOR dem main-loop.
1 | sreg = SREG; |
2 | cli(); // disable interrupts |
3 | |
4 | // ... Code ...
|
5 | |
6 | SREG = sreg; |
Der Code läuft aber schon seit Wochen. Wie kann das sein? Gruß