Hallo zusammen...
Ich versuche meinen ATTiny 2313 in den PowerDown Modus zu versetzen und
durch eine positive Flanke am INT0 pin wieder aufzuwecken...
Doch leider klappt das nicht...
Hier mein bisheriger code
1 | ISR(INT0_vect)
|
2 | {
|
3 | sleep_disable();
|
4 | cli();
|
5 | return;
|
6 | }
|
7 |
|
8 |
|
9 |
|
10 | int main(void)
|
11 | {
|
12 |
|
13 | //.... sonstiger code
|
14 |
|
15 | PCMSK |= (1<<PIND2);
|
16 | MCUCR = (1<<ISC01) | (1<<ISC00);
|
17 | GIMSK |= (1<<INT0);
|
18 |
|
19 | delay_ms(3000);
|
20 |
|
21 | set_sleep_mode(SLEEP_MODE_PWR_DOWN);
|
22 | sleep_enable();
|
23 | sei();
|
24 | sleep_cpu();
|
25 |
|
26 |
|
27 | while(1)
|
28 | {
|
29 | //.... Hier steht mein Code welcher beim aufruf des Interrupts bzw. danach abgearbeitet werden soll....
|
30 |
|
31 |
|
32 | sleep_enable();
|
33 | sei();
|
34 | sleep_cpu();
|
35 | }
|
36 |
|
37 | }
|
Der Stromverbrauch sinkt nach 3 sekunden von ca 2mA auf ein paar uA
Doch leider erweckt eine Positive Flanke den Attiny nicht aus dem
schlaf...
Wo liegt hier wohl der Fehler?
Der UART ist auch aktiv... Jedoch nur TXD nicht RXD!
Der INT0 ist der einzige Interrupt.
Danke schonmal