Geschätztes Forum, der Timer2 wird mit einem externen 32kHz Quarz im Asyncronmodus und der Atmega im Power-Save-Modus betrieben. Wenn der Timer2 einen Sekundentakt generiert, funktioniert alles bestens. Der AVR arbeitet die Interruptroutine ab, und pennt anschließend wieder ein. Doch wenn der Timer2 alle 1ms einen Interrupt auslöst, dann wird plötzlich der Interrupt nur ein einziges Mal abgearbeitet und dann nicht mehr, der WDR beißt natürlich dann zu. Abhilfe: eine keine Warteschleife von ca. 30µs nach dem Sleep Warum ist das so? Bernhard
Bernhard S. schrieb: > Warum ist das so? Lies' einfach endlich mal das verschissene Datenblatt. Hier natürlich speziell natürlich den Teil über den asynchronen Betrieb des Timer2. Wer hätte das gedacht: da steht das tatsächlich drin... > If Timer/Counter2 is used to wake the device up from Power-save mode, > precautions must be taken if the user wants to re-enter one of these modes: > The interrupt logic needs one TOSC1 cycle to be reset. If the time between > wake-up and re-entering sleep mode is less than one TOSC1 cycle, the > interrupt will not occur, and the device will fail to wake up. If the > user is in doubt whether the time before re-entering Power-save or Extended > Standby mode is sufficient, the following algorithm can be used to ensure > that one TOSC1 cycle has elapsed: [...]
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.