ATMEGA wacht nicht aus "Power-Down" auf

Gast #1952812
Lesenswert?

Hallo!

Ich bekomme meinen uC nicht mehr aus dem Power Down Mode und hoffe auf 
ein paar Tips:

Ich möchte den ext. INT1 verwenden um den MEGA168 wieder aus dem Power 
Down Mode aufzuwecken. Dazu konfiguriere ich diesen auf "any logical 
change":
1
EICRA  &= ~(1<<ISC11);    // Setze Interrupt  INT1 Sense Control auf "Any logical change" (01)
2

3
EICRA  |=  (1<<ISC10);       
4
EIFR  |=  (1<<INTF1);    //Aktiviere ISR
5

6
EIMSK  &= ~(1<<INT1);    //Deaktiviere externen Interrupt INT1 by default

Wenn ich den uC schlafen schicke, aktivere ich den externen Interrupt:
1
  // Watchdog abschalten um autom. Reset (=Neustart) zu vermeiden
2
  wdt_disable();              
3

4
  //Alle Ausgänge abschalten
5
  PORT_OUT1    &= ~(1<<OUT1);        
6
  PORT_OUT2    &= ~(1<<OUT2);        
7

8
  // Aktiviere externen Interrupt um ein Aufwachen zu ermöglichen
9
  EIMSK  |=   (1<<INT1);    
10

11
  //Herunterfahren
12
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
13
  sleep_enable();
14
  sleep_cpu();    // BYE BYE!

Wenn nun am INT 1 wieder ein Signal anliegt (PWM mit 1...2ms high Phase) 
soll der uC wieder aufwachen, siehe ISR:
1
ISR(INT1_vect)
2
{
3
  //Deaktiviere externen Interrupt INT1 wieder
4
  EIMSK  &= ~(1<<INT1);  
5
}

Leider wacht hier niemand auf... Die Interrupts sind sicher aktiviert.
Kann mir jemand erklären wo es hängt?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren