Gast
#237029
Hallo allerseits! Zunächst das allgemeine: Prozessor: AVR Mega168 Compiler: GNU C-Compiler Ich habe folgendes Problem: Ich möchte beim Hochlauf die Initialisierung des RAM-Bereiches UNTERDRÜCKEN. Grund: Die Schaltung läuft im Batteriebetrieb. Darum möchte ich den Controller nach Ausführung eines Programmes "Schlafen legen" (mittels SLEEP-Befehl) um wenig Strom zu verbrauchen,und diesen dann durch einen Watchdog-interrupt wieder aufwecken. Die RAM-Variablen sollten somit nach neuerlichem Anlauf erhalten bleiben. Ich nehme an, dass es dafür sicherlich einen Compilerswitch für das MAKE-File gibt. Vielleicht hat das schon jemand einmal probiert? Anbei der Code, der das RAM beim Anlauf mit 0x00 initialisiert (habe ich mit dem AVR-Studio im Singlestep herausgefunden): +0000006D: 921D ST X+,R1 Store indirect and postincrement +0000006E: 3AA9 CPI R26,0xA9 Compare with immediate +0000006F: 07B1 CPC R27,R17 Compare with carry +00000070: F7E1 BRNE PC-0x03 Branch if not equal Vielen Dank im Voraus für eventuelle Tipps und Lösungsvorschläge! Viele Grüße, Christian