Hallo. Ich habe einen ATMega16 (mit ext. Quartz) mit dem folgenden Programm in den power down modus versetzt. Hat Alles super geklappt. Bloß wacht der µC bei einem Interrupt nicht wieder auf. (Nur um Fragen zu verhindern: Ich habe Alles richtig angeschlossen. Und nachgemessen: An INT0 liegen permanent 5V an und sobald ich einen Taster betätige fällt die Spannung auf 0V.)Eigentlich sollte doch dann der Interrupt auslösen, oder?? Programm:
1 | .include "m16def.inc" |
2 | .cseg |
3 | .org 0 |
4 | rjmp ini |
5 | .org $002 |
6 | rjmp d |
7 | ini: |
8 | ldi r16, low(RAMEND) |
9 | ldi r17, high(RAMEND) |
10 | out spl, r16 |
11 | out sph, r17 |
12 | clr r16 |
13 | out ddrd, r16 |
14 | ldi r16, 0xFF |
15 | out ddra, r16 |
16 | out portd, r16 |
17 | out porta, r16 |
18 | in r16, mcucr |
19 | ori r16, (1<<SE) | (1<<SM1) | (1<<ISC01) |
20 | |
21 | out mcucr, r16 |
22 | in r16, gicr |
23 | sbr r16, (1<<INT0) |
24 | out gicr, r16 |
25 | sei |
26 | sleep |
27 | r:rjmp r |
28 | d: |
29 | |
30 | cbi porta, 0 |
31 | reti |
32 | |
33 | .exit |