www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny2313, Bascom, Wert Speicher und Arbeiten


Autor: voXdie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: voXdie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner der mir helfen kann??????

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man Werte retten möchte, selbst wenn zwischendurch dem µC die 
Spannung geklaut wird, ist das EEPROM die erste Wahl.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal nach "WRITEEEPROM" und "READEEPROM" in der Hilfe von Bascom.
MfG Paul

Autor: voXdie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rolf Im forum (for_ro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: bix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.
Do
  ...
  Writeeeprom B , Label1
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)

Autor: voxdie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, kannst du mir ein beispiel für so eine überwachungsschaltung geben? 
Das ganze wird mit einem atmega8 aufgebaut

Autor: voxdie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.