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