Hallo habe meinen Atmega16 in den powerdown modus versetz. Klappt prima. Aber ich kann ihn nicht mehr aufwecken. Im datenblatt steht das ich den power down mode mit einem externen interrupt beenden kann. klappt aber net. Hoffe ihr könnt mihr helfen. Danke Gruß M.H.
Sicher, dass du den externen Interrupt wirklich aktiviert hast? Generell Interrupts aktiviert? Externen Interrupt so eingestellt, dass er auf die richtige Flanke reagiert? Falls Button low-schaltend, Pullup aktiviert? Interruptroutine im Programm vergessen?
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 | out portd, r16 |
15 | ldi r16, (1<<SE) | (1<<SM1) | (1<<ISC00) | (1<<ISC01) |
16 | |
17 | out mcucr, r16 |
18 | ldi r16, (1<<INT0) |
19 | out gicr, r16 |
20 | sei |
21 | sleep |
22 | |
23 | r:rjmp r |
24 | d: |
25 | nop |
26 | reti |
27 | |
28 | .exit |
Das ist mein Programm. Und Hardware mäßig ist au alles in ordnung
Hab jetz mal den sleep mode ins Interrupt rein. Und ich seh jetzt an der stromaufnahme, dass der interrupt auslöst. aber das mit dem wecken im 1. Programm köappt net.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.