Gast
#4810258
Hallo, ich bastle als Anfänger in der Welt der µController momentan mit einem ATtiny261A , an den ich schon eine LED und einen Taster angeschlossen habe (die beide funktionieren soweit auch). Nun wollte ich mich an den Sleep Mode machen, da der Tiny ja nur eine Batterie hat und man ja nicht mehr Energie verschwenden muss als nötig ist. Hierzu habe ich den Beitrag zum Sleep Mode hier im Forum gelesen und denke ihn auch verstanden zu haben. Als Vorlage für meinen Code habe ich hierbei den Code unter „Aufwachen per Tastendruck“ genommen. Dabei habe ich zu dem Code/dem Prinzip noch ein paar Fragen und ich hoffe Ihr könnt mir dabei helfen :) 1. Hier wird MCUCR UND-Verknüpft mit dem negierten Wert von Hexadezimal 3 (00000011 --> 11111100). Wenn ich ins Manual zum Attiny gucke ist dieses Register mit überall 0 initialisiert, müsste dann durch das UND nicht am Ende auch überall 0 stehen, wodurch der Schritt überflüssig sein (die Werte ändern sich ja nicht)? 2. Ich habe das Register GICR durch GIMSK ersetzt da so wie ich das aus dem Manual lese dies hier das macht wofür laut der Vorlage GICR zuständig ist. Ist das so richtig? 3. Im Prinzip funktioniert der Code, ein Drücken auf den Taster und die LED leuchtet für eine Lampe. In meiner Neugier hab ich dann mal das ausschalten der LED aus dem Code entfernt, da ich dachte er geht mit dem nächsten durchlauf der WHILE-Schleife ja eh in Energiesparmodus. Zu meinem Erstaunen blieb die LED an. Ich habe nun nochmal dazu nachgelesen und tatsächlich nirgendwo etwas davon gelesen das auf Output und auf 1 gesetzte Pins im Power-Down Modus automatisch auf 0 gesetzt werden. Heißt das, das die LED leuchtet, der Power-Modes aber trotzdem aktiv ist? Oder habe ich einen Fehler bei meiner Anpassung des Codes? Mit freundlichen Grüßen