Hi, Ich möchte meinen ATmega8 in den Power-Down Modus schicken ohne das ich die sleep.h verwende, um den Mikrocontroller besser zu verstehn (Ich bin Anfänger). Also aus dem Datenblatt habe ich schon raus gelesen das ich das 7. Bit von MCUCR auf 1 setzen muss und für den Power Down modus das 6.-5.-4. Bit auf 010 setzen muss und den Rest auf 0 (Datenblatt S.33) Wie kann ich jetzt den ATmega in den Modus schicken?? Anhang: C-Code
Mit der SLEEP Instruktion, das steht auch im Datenblatt. Also zwangsweise mit eingebettetem Assembler, mit reinem C geht das nicht.
ich du schrieb: > Wie kann ich jetzt den ATmega in den Modus schicken?? Indem du die sleep instruktion ausführst. In C gibts die aber nicht. Da wird dir nichts weiter übrig bleiben als Inline-assembler zu verwenden.
1 | asm volatile ("sleep \n\t"); |
Gruß Oliver
Das heißt so müsste die LED nach einer kurzen Zeit an Port D5 ausgehen oder? .. macht sie aber nicht, was ist denn noch falsch? Danke für die Antwort
Der sleep-Befehl schaltet keine Portpins ab. Das musst du selbst tun.
1 | while(1) |
2 | {
|
3 | PORTD = (1<<PD5); |
4 | _delay_ms(5000); |
5 | PORTD &= ~(1<<PD5); |
6 | asm volatile ("sleep \n\t"); |
7 | }
|
Ok thx, aber wie kann ich überprüfen ob der im Power-down modus ist ??
ich du schrieb: > Ok thx, aber wie kann ich überprüfen ob der im Power-down modus ist ?? Stromaufnahme messen.
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.