Forum: Mikrocontroller und Digitale Elektronik AtMega32: Aufwachen aus Powerdown FAIL


von Johannes (menschenskind)


Lesenswert?

Hallo,

Diesen Code hier:
1
.
2
.
3
.
4
ISR(INT0_vect) {
5
}
6
7
int main(){
8
  
9
  GICR   |= (1<<INT0); // Enable INT0
10
  MCUCR  |= (1<<ISC01) | (1<<ISC00); // INTO set for rising edge
11
        DDRD  |= (0<<PD2); // Buttonpin set as input
12
13
  sei();    // Enable global interrupts
14
15
  while(1){    
16
  
17
    GICR |= (1<<INT0);
18
    if(led_index == 14){
19
      set_sleep_mode(SLEEP_MODE_PWR_DOWN);
20
      sleep_mode();      
21
    }
22
    GICR &= ~(1 << INT0);
23
24
.
25
.
26
.
27
  }
28
}
habe ich aus diesem Tutorial: 
https://www.mikrocontroller.net/articles/Sleep_Mode#Aufwachen_per_Tastendruck
Weiter unten in der Whileschleife sind noch die Anweisungen für einen 
Neopixelring enthalten, wo ein LED-Licht "seine Runden dreht".
Der µC geht in Powerdown, aber lässt sich durch meinen HIGH-aktiven 
Taster nicht mehr zurück in den "Active"-Modus versetzen.

Wer weiß Rat?

Danke im Voraus
Hannes

von MWS (Gast)


Lesenswert?

Schau in's Datenblatt, bei INT0/1 mit Powerdown dürfte nur Aufwachen auf 
Level gehen.

von Johannes (menschenskind)


Lesenswert?

Vielen Dank.
Ja das sind dann immer die kleinen Details...

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.