PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfängerfrage eeprom



martin66119
24.09.2007, 07:43
Einen guten Morgen an alle!

Zum handling des eeproms habe ich eine Frage.

In meinem Code lese ich in einer Schleife die ins eeprom geschriebenen Werte aus. Muss ich bei jeder Compilierung und bei jedem schreiben des Code in meinen Controller auch die Werte des eeprom schreiben obwohl die Werte immer gleich bleiben oder brauche ich das nur einmal (Wie mache ich das). eeprom ist ja nicht unendlich-mal beschreibbar.

Im Moment habe ich in der "Upload Code an Data" in Optionen angeklickt.
Danke für die Hilfe

Martin
...
...
for i = 1 to 5
Readeeprom (Feld(i), I
next i

...

$eeprom
Data &11, &22, &33, &44, &55, &66
...

chr-mt
24.09.2007, 09:11
Hi,
du könntest zB. einen festen Wert in das EEPROM schreiben,
der bei Programmstart auf Richtigkeit überprüft wird.
Falls nicht, dann isses leer und du kannst per Programm alles in's EEPROM schreiben.
Beim nächsten Start ist der Wert dann richtig und das EEPROM wird nicht mehr neu beschrieben.
Wenn die Werte immer gleich bleiben, warum legst du die dann im EEPROM ab ?


Gruß
Christopher

martin66119
24.09.2007, 12:37
Dabke für die Hilfe.

Martin

stefan_Z
24.09.2007, 14:07
Wenn du mit PonyProg flashst, dann kannst du auch nur Flash oder EEP schreiben...

SIGINT
24.09.2007, 16:22
Wenn ich das richtig verstanden habe, dann geht es nur um das "Flashen" des AVRs... also das schreiben bein Neuprogrammieren des Chips. Das eigentliche Basic-Programm greift nur lesend auf den Speicher zu.
Das EEPROM kann ca. 100.000 Mal (hab ich das richtig in erinnerung?) beschrieben werden... das schafft kein normaler Mensch bei üblicher Verwendung. Die Schreibzugriffe aus dem Basic-Programm sollten (wenn sie stattfinden) allerdings begrenzt werden.

Gruß,
SIGINT

martin66119
25.09.2007, 09:08
Vielen Dank für die Infos.


Ich Programmiere und Flashe mit den Tools die bei Bascom direkt dabei sind. Kann man da auch "Fash" ohne EEPROM.

Grüße
Martin

SIGINT
25.09.2007, 16:53
@martin: Sollte doch in der Onlinehilfe stehen. Aber wie gesagt: Die 100.000 Schreibzyklen bekommst du durch brennen der Firmware nie im Leben verbraucht. Selbst die 10.000 mal vom Flash wirst du bei normaler Verwendung (als Devkit) nichtmal ansatzweise vollkriegen.

stefan_Z
25.09.2007, 17:35
Irgendwer hatte auch mal einen Chip so programmiert, dass er immer fein das EEP vollschrieb, dann auslas und verglich. Dann einen Zählwert an den PC schicken und wieder von vorne...
Kam auch nach mehreren Tagen zu keinem Defekt...

SIGINT
26.09.2007, 17:13
Mag sein,
aber das sind auch gezielte Versuche den EEPROM zu zerstören. Durch normales schreiben beim programmieren des Flash-Speichers (Firmwareupdate) bekommt kein normaler Nutzer den EEPROM kaputt.

Vitis
28.09.2007, 00:54
Du kannst auch in den Fuses einstellen, dass beim neuprogrammieren der EEPROM-Inhalt erhalten bleibt.