HAllo Leute, wer kann mir weiterhelfen mit BAscom und ATMEGA 8 !? Ich möchte im EEPROM Wertee hineinschreiben mit denen der Microcontroller beim erstmaligen Start initialisiert wird. Wenn ich nun während dem Betrieb diese Werte ändere ( hier bei mir geschieht dies dadurch das wenn ich eine Taste drücke der betreffende Wert um 1 erhöht wird) soll dies im EEPROM gespeichert werden. Wenn ich nun den Controller ausschalte und wieder einschalte sollen aber nicht die Initialisierungswerte sondern die geänderten Werte gelesen werden z.B. erstmaliger Start : A = 10 dann erhöhe ich Wert auf A = 12 nun schalte ich Controller aus und ein jetzt soll A = 12 sein Würde mich freuen wenn mir jemand weiterhelfe könnte Ich habe es mit Dim A As eram byte probiert aber das bring nichts weilich ja immer den allerersten Wert beim Neustart erhalte Vielen Dank Tobi
einfach die zu speichernden variablen als Dim test As Eram Byte deklarieren. dann bleibt der variablen-wert auch beim ausschalten erhalten, da er ja im eeprom gespeichert ist. habs zwar noch nicht asuprobiert, müsste aber funktionieren.
Hallo Tobi Zeig doch mal deinen Code. Ist vielleicht nur ein Denkfehler. MFG Dieter
Wenn "A" als Eram deklariert wird wird immer auf dem EEprom Inhalt zugegriffen. Wird "A" verändert ist dieser Wert auch nach dem einschalten vorhanden. Tücke bei Bascom: Nicht alle Funktionen laufen auch mit EEprom Variablen. Mal Funktionierts, mal nicht, manchmal auch ohne Fehlermeldung. Steht aber auch in der Hilfedatei. Lösung: EEprom Variablen beim Start in normale Variablen kopieren und damit arbeiten. Werden die Werte der normalen Variablen geändert, so muss auch die EEprom Variable geändert werden. Dim EETestVar as Eram Byte ' EEprom Variable Dim TestVar as byte ' normale Var TestVar = EETestVar ' gespeicherten Wert kopieren do ' irgend was sinnvolles if pind.0 = 0 then ' jetzt Wert verändern und speichern Incr TestVar EETestVar = TestVar Endif loop Bernd (gehört nicht mehr zum Programm :-)
wie ist es denn mit dem überschreiben von werten durch neustart? die ersten speicherstellen des eeprom sollen beim neustart teilweise überschrieben werden (quelle: bascombücher von C.Kühnel)- wer kennt sich da aus?
Das erste Byte war wohl bei älteren AVR davon betroffen. Wie es mit den MEGA aussieht weis ich nicht. Ich benutze das erste Byte nicht. Dim EEdummy as eram byte ' und das Problem is weg Bernd
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.