Forum: Compiler & IDEs Mega16 PowerDown funtioniert nicht.


von Marco B. (nosferatu)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe einen Mega16, der mit 1MHz internen Oszillator läuft.
An TOSC1 und TOSC2 habe ich einen 32KHz Quartz angeschlossen für eine 
RTC.
An OC1A liegt ein 8 Bit PWM Signal an.
INT0 (PD2) habe ich den Internen Pullup aktiviert und einen Taster
angeschlossen, der den Pin bei gedrückter Taste nach GND zieht.
Soweit alles ganz gut und funktionell.

Sobald ich in meiner Main Schleife die Routine zum "schlafenlegen" 
meines AVRs aufrufe, scheint dieser dies auch zu tun.
Allerdings kommt er aus dem Power_Down über den externen Interrupt 
(INT0)
nicht wieder zutrück zum leben.

Als Compiler setze ich den GCC (Winavr) ein.

Über hilfe wäre ich sehr dankbar.

Gruß,
Marco

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Du hast keine Interruptvektoren für INT0 und INT1, damit macht der
Prozessor an dieser Stelle einen Sprung zur Adresse 0 und beginnt
von vorn.

von Marco B. (nosferatu)


Angehängte Dateien:

Lesenswert?

Hallo Jörg,

du meinst einfach einen ISR definieren, und schon soll es gehen ?
Werde ich gleich mal testen.

Gruß,
Marco


von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

EMPTY_ISR(INT0_vect);
EMPTY_ISR(INT1_vect);

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
Noch kein Account? Hier anmelden.