Gast
#706806
im avr-libc user manual wird folgende vorgangsweise für das aus- und wiedereinschalten des globalen Interruptflags empfohlen: uint8_t tmp_sreg = SREG; // ?? cli(); ... SREG = tmp_sreg; Soweit klar, nur was passiert, wenn ein anderer Interrupt genau an der mit ?? bezeichneten Stelle zuschlägt ? Der kann dann SREG verändern, und das Programm könnte dadurch durcheinanderkommen, da der unter tmp_sreg gespeicherte Wert u.U nicht mehr aktuell ist. Oder sehe ich das falsch ? Falls das stimmt, wie kann man dieses Problem umgehen ? -- Danke Michael