Guten Abend, Habe einen Atmeg88 und möchte diesen aus den Power-Down Mode mit den Any logical change on INT0 generates an interrupt request. aufwecken! Verstehe aber nicht ganz genau aus dem Datenblatt ob das geht! Lg
Nö, geht nicht. Aber der Pinchange Interrupt am gleichen Pin läuft flankengetriggert auch in Sleepmodes - nimm den. Im Datenblatt ist das ein wenig merkwürdig ausgedrückt: Im Powerdown Mode gehen INT0 und INT1 nur bei Level- und nicht bei Flanken Interrupts.
:
Bearbeitet durch User
Matthias S. schrieb: > Nö, geht nicht. Aber der Pinchange Interrupt am gleichen Pin läuft > flankengetriggert auch in Sleepmodes - nimm den. > Im Datenblatt ist das ein wenig merkwürdig ausgedrückt: Im Powerdown > Mode gehen INT0 und INT1 nur bei Level- und nicht bei Flanken > Interrupts. Also kann ich bei steigender Flanke den Atmega 88 aufwecken? Danke Lg
pi_user schrieb: > Also kann ich bei steigender Flanke den Atmega 88 aufwecken? Ja, und auch bei fallender Flanke - Ein Pinchange wird bei jedem Wechsel ausgelöst.
Matthias S. schrieb: > Ja, und auch bei fallender Flanke - Ein Pinchange wird bei jedem > Wechsel ausgelöst. Und das auch im Power Down Mode? Sorry bin etwas verwirrt! Danke Lg
When the SM2..0 bits are written to 010, the SLEEP instruct ion makes the MCU enter power-down mode. In this mode, the external oscillator is stopped, while the external interrupts, the 2- wire serial Interface address watch, and the Watchdog continue operating (if enabled). Only an external reset, a watchdog system reset, a watchdog interrupt, a brown-out reset, a 2-wire serial interface address match, an external level interrupt on INT0 or INT1, or a pin change interrupt can wake up the MCU. Das ist doch eigentlich recht verständlich.
H.Joachim S. schrieb: > Das ist doch eigentlich recht verständlich. Für mich leider nicht! Aber wenn ihr mir bestätigt das eine Flankenerkennung geht dann bin ich Zufrieden! Lg
pi_user schrieb: > wenn ihr mir bestätigt das eine > Flankenerkennung geht Nein, geht nicht! Aber warum brauchst du unbedingt "Flankenerkennung"?
pi_user schrieb: > H.Joachim S. schrieb: >> Das ist doch eigentlich recht verständlich. > > > Für mich leider nicht! Aber wenn ihr mir bestätigt das eine > Flankenerkennung geht dann bin ich Zufrieden! > > Lg Der altbekannte INT0 kann ohne Takt, z.b. PowerDown, keine Flanke erkennen. Wenn der aber auf High-Level reagiert und vorher hatte man Löw-Level, dann hast du fast den gewünschten Effekt. Fast bedeutet, die ISR wird gerufen, bis der INT0 disabled wird, oder er nicht mehr auf "Trigger On High-Level" steht. PinChange-Int braucht für Flanken-Erkennung keine Takt. Vermutlich wird einfach das Signal per Buffer-Gate-Laufzeit verzögert mit dem Original XORed. Und als Nachteil hat man Trigger auf beiden Flanken.
Es geht nicht über INT0, aber über PCINT18, liegen auf dem gleichen Pin. Also: -zusätzlich eine ISR für PC_INT2 (Interruptvektor u.a.für PCINT18), dort dann den Pinchange-Int komplett wieder ausschalten. Vor power-down den PCINT18 aktivieren: PCICR=(1<<PCIE2) | (0<<PCIE1) | (0<<PCIE0); PCMSK2=(0<<PCINT23) | (0<<PCINT22) | (0<<PCINT21) | (0<<PCINT20) | (0<<PCINT19) | (1<<PCINT18) | (0<<PCINT17) | (0<<PCINT16); Oder so ähnlich :-) Direkt mit dem INT0 oder 1 geht es jedenfalls nicht, wenn der flankengesteuert arbeitet.
:
Bearbeitet durch User
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.