Hallo
Ich habe ein Problem mit dem Sleep-Modus.
Ich habe folgenden Code:
1 | int main(void)
|
2 | {
|
3 | unsigned char i;
|
4 |
|
5 | sei();
|
6 |
|
7 | DDRD &= ~(1<<PD3); // configure PD2 as input
|
8 | MCUCR |= (1<<ISC10); // Interrupt is generated on any logic
|
9 | GICR |= (1<<INT1); // enable external interrupt 6
|
10 |
|
11 |
|
12 | for (;;)
|
13 | {
|
14 | unsigned char i;
|
15 |
|
16 | for(i=0;i<10;i++)
|
17 | {
|
18 | PORTC |= (1<<PC2);
|
19 | _delay_ms(50);
|
20 | PORTC &= ~(1<<PC2);
|
21 | _delay_ms(50);
|
22 | }
|
23 | set_sleep_mode(SLEEP_MODE_PWR_DOWN);
|
24 | _delay_ms(500);
|
25 | sleep_mode();
|
26 | }
|
27 | }
|
28 |
|
29 | ISR(INT1_vect)
|
30 | {
|
31 | PORTC |= (1<<PC2);
|
32 | }
|
An PC2 ist eine LED. Der AVR blinkt mit der LED einige Male bevor er in
den Schlafmodus fällt. Jedoch wacht er nicht mehr aus dem Schlafmodus
aus. Was ich auch mit dem INT1-Pin mache, der AVR bleibt "tot".
Hat jemand eine Idee was ich falsch mache?