Ich hab einen zähler Programmiert (ist hier nur ne einfache version davon, der richtige ist mit menu führung und verschiedenen zählern & löschbar) Dim A as Integer Do Home LCD A Locate 2,1 LCD "Wert" If Count (Pinb.0) = 1 then Count: If Count (Pinb.1) = 0 then A = A+1 else Goto Count Endif Loop End Jetzt will ich den wert der In A steht behalten selbst wenn ich das gerät neustarte. Wie geht das? Mit Dim A as eram Byte funktioniert das schonmal nicht mfg Jan
Wenn man Werte retten möchte, selbst wenn zwischendurch dem µC die Spannung geklaut wird, ist das EEPROM die erste Wahl.
Guck mal nach "WRITEEEPROM" und "READEEPROM" in der Hilfe von Bascom. MfG Paul
Danke erstmal für die tips, daraus ist das hier entstanden: Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portd.2 , Rs = Portd.3 Config Lcd = 16 * 2 Cls Cursor Off Dim B As Integer $eeprom Label1: Data 1 , 2 , 3 , 4 , 5 Label2: Data 10 , 20 , 30 , 40 , 50 $data Do Home Readeeprom B , Label1 Lcd B Locate 2 , 1 Lcd "Wert" If Pinb.0 = 1 Then B = B + 1 Writeeeprom B , Label1 End If Loop End Aber Warum fängt der Zähler mit dem wert -1 an? Kann man das ändern? mfg Jan
Hast du denn die eeprom Daten auch schon ins EEPROM geschrieben? Ansonsten steht noch FFFF im EEPROM, was für ein Integer -1 bedeutet. Musst du mit deinem Programmer separat schreiben. ERAM Variablen kannst du nicht direkt in deinem Programm benutzen. Du musst sie einer SRAM Variablen zuweisen, also Dim Eram_Int as Eram Integer Dim Sram_Int as Integer Sram_Int = Eram_Int 'Lesen LCD Sram_Int Sram_Int=1000 Eram_Int = Sram_Int 'Speichern
Bei der Verwendung des EEPROM sollte man berücksichtigen, dass die Lebensdauer hinsichtlich der Schreibzyklen begrenzt ist. Man sollte keinesfalls, wie in dem Beispielprogramm gezeigt, in einer Schleife das EEPROM beschreiben.
1 | Do |
2 | ... |
3 | Writeeeprom B , Label1 |
4 | Loop |
Besser wäre es, nur beim Abschalten den Zählerstand im EEPROM zu sichern. Wie man das realisiert, hängt vom Einsatzgebiet der Schaltung ab (Taster, den man beim Ausschalten betätigt oder ggf. Überwachung der Versorgungsspannung und beim Unterschreiten eines Schwellwertes speichern und abschalten)
ok, kannst du mir ein beispiel für so eine überwachungsschaltung geben? Das ganze wird mit einem atmega8 aufgebaut
kann ich sowas zum beispiel mit dem Analog eingang machen und einen großen Kondensator zwischen vcc und masse schalten? (das ding ist die Hintergrundbeleuchtung zieht so viel das so ein Kondensator sau schnell entladen ist, reagiert der µC bei 1Mhz schnell genug?
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.