Gast
#1131408
Hallo,
ich möchte zwischendurch um strom zu sparen, den Atmega16 in Power Down
Modus versetzen. Dies klappt auch mit folgender Funktion, die ich nach
einer bestimmten Ruhezeit aufrufe.
void powerdown(void)
{
GICR = 0x20; // NUR INT2 ist aktiv
MCUCSR = MCUCSR | 0b01000000; // INT2 Reagiert auf steigende Flanke
MCUCR = MCUCR | 0b01100000; //power down modus UND SE-Bit (sleep
enable) gesetzt
NOP();
NOP();
asm("SLEEP"); // Ab hier in POWER DOWN, Reaktivierung durch steigende
flanke am INT2
}
Was ich nicht funktioniert, nämlich bekomme ich keine Reaktion auf
steigende Flanke am INT2. Ich konfiguriere den ensprechenden Pin, wie in
der Beschreibung von Atmega16 beschrieben als OUTPUT. Hab noch einen 5k
Widerstand als Pulldown. Wenn ich aber 5V an den Pin anlege, reagiert
der µC nicht. (Habe im Debug modus an der entsprechender Interrupt
funktion einen Breakpoint (AVR Studio))
Weiß vieleicht jemand, wo ich einen Denkfehler habe? Würde mich sehr auf
einen Tip freuen.
Grüße
Roman