Hi, ich möchte Daten im Format "1.Datum, Uhrzeit" im internen EEPROM von einem ATmega8 abspeichern. Die Ziffer am Anfang soll kontinuierlich um 1 erhöht werden, die Uhrzeit kommt per DCF77. Es soll also jedesmal bei einem Tastendruck die Ziffer um 1 erhöht werden, und dazu die passende Uhrzeit. Ich programmiere in Bascom, falls jemand mir ein Beispiel oder einen Tipp geben könnte. Danke!
Die erste Frage, die du dir stellen solltest: Wie oft speicherst du ins EEPROM an die gleiche Stelle? Das geht nur ca. 100000 mal lt. Datenblatt, dann erreicht der EEPROM seine 'Garantiegrenze' und hält evtl. seine Daten nicht mehr. Wenn du jede Sekunde was ins EEPROM schreibst, ist nach ca. 1,5 Tagen Feierabend. Ein externes EEPROM sieht da besser aus, die halten so ca. 1 Millionen Schreibzyklen.
Hi, es wird nicht jede Sekunde geschrieben, höchstens 3-4 mal am Tag. Ein externes EEPROM ist natürlich möglich, ich wollte das eigentlich nur mit dem µC realisieren, wenn du aber sagst dass ein externes EEPROM besser wäre dann ist das natürlich sinnvoller.
@ Osmodia (Gast) >es wird nicht jede Sekunde geschrieben, höchstens 3-4 mal am Tag. Gut, dann reicht es vielleicht 25.000 Tage, macht ~4 Jahre. >Ein externes EEPROM ist natürlich möglich, ich wollte das eigentlich nur >mit dem µC realisieren, wenn du aber sagst dass ein externes EEPROM >besser wäre dann ist das natürlich sinnvoller. Nö, das interne reicht. Köpfchen ist angesagt. http://www.mikrocontroller.net/articles/Speicher#EEPROM_Schreibzugriffe_minimieren
Ich glaube, das habt ihr falsch gerechnet. Er will ja nicht bei jedem Tastendruck das gesamte EEPROM überschreiben, sondern nur einen Datensatz anhängen. Angenommen, so ein Datensatz umfasst 8 Bytes, dann passen 64 Datensätze in den EEPROM des ATmega8. Bei 4 Tastendrücken pro Tag ist der Speicher nach 16 Tagen voll und muss erst danach überschrieben werden. Das kann man mindestens 100.000 mal machen, also reicht die Lebensdauer des Speicher mindestens für 1.600.000 Tage aus (~4400 Jahre). Was will man mehr? By the way: 25.000 Tage sind nicht ~4 Jahre.
@Osmodia So lange Du nicht damit rüber kommst, was Du überhaupt erreichen willst, werden alle Vorschläge bestenfalls mittelprächtig bleiben.
amateur schrieb: > @Osmodia > > So lange Du nicht damit rüber kommst, was Du überhaupt erreichen willst, > werden alle Vorschläge bestenfalls mittelprächtig bleiben. Auf Deutsch? Er will, dass ihm jemand aus dem BASCOM Handbuch raussucht, wie man ins EEPROM schreibt, weil er selber zu faul dazu ist, sich das in der Online-Hilfe nachzulesen oder Google zu benutzen.
>Er will, dass ihm jemand aus dem BASCOM Handbuch raussucht, wie man ins >EEPROM schreibt, weil er selber zu faul dazu ist, sich das in der >Online-Hilfe nachzulesen oder Google zu benutzen. genau, und dafür ist er sich nicht zu schade, gleich ein paar mehr Leute für sich einzuspannen. http://bascom-forum.de/showthread.php?4769-ATmega8-Daten-im-EEPROM-speichern
@Karl Heinz Tut mir leid, ich habe mir noch eine gewisse Naivität erhalten. Bin allerdings auch noch nicht so lange im Forum wie Du und deine Stellung als Moderator vermuten lässt.
@ Stefan (Gast) >Speicher mindestens für 1.600.000 Tage aus (~4400 Jahre). Was will man >mehr? ;-) >By the way: 25.000 Tage sind nicht ~4 Jahre. Arrrgh! Ich hab mit Stunden gerechnet und das auch noch falsch. Asche auf mein Haupt.
Stefan schrieb: > Ich glaube, das habt ihr falsch gerechnet. > > Er will ja nicht bei jedem Tastendruck das gesamte EEPROM überschreiben, > sondern nur einen Datensatz anhängen. Ist schon klar, dewegen frug ich ja: Matthias Sch. schrieb: > Wie oft speicherst du ins EEPROM an die gleiche Stelle? um die begrenzte Lebensdauer des EEPROMs deutlich zu machen. EEPROM ist eben kein Speicher für Variable, die öfter mal geändert werden. Falks Hinweis auf eine sinnvolle Power-Fail Routine ist da genau das richtige.
Matthias Sch. schrieb: > Stefan schrieb: >> Ich glaube, das habt ihr falsch gerechnet. >> >> Er will ja nicht bei jedem Tastendruck das gesamte EEPROM überschreiben, >> sondern nur einen Datensatz anhängen. > > Ist schon klar, dewegen frug ich ja: > > Matthias Sch. schrieb: >> Wie oft speicherst du ins EEPROM an die gleiche Stelle? > > um die begrenzte Lebensdauer des EEPROMs deutlich zu machen. EEPROM ist > eben kein Speicher für Variable, die öfter mal geändert werden. Falks > Hinweis auf eine sinnvolle Power-Fail Routine ist da genau das richtige. Na ja. Bei 3-4 mal Schreiben am Tag braucht man sich über die Lebensdauer des EEPROMS keine Gedanken machen. Bis der ausfällt, ist der µC längst vergammelt.
Ich konnte ja nicht ahnen, das manche den Sheriff für andere Foren spielen wollen. Deswegen möchte ich mich entschuldigen, besonders bei dir "Sucher" das ich dich vorher nicht um Erlaubnis gefragt habe. Ich vergaß, das jeder normale Mensch nur ein Thema in einem Forum über dasselbe Thema öffnen darf. Außerdem wusste ich nicht, dass hier nur Profis sind die jeden Tag damit zu tun haben und auch Zeit dafür haben. /sarkasmus off Übrigens bin ich nicht zu faul, sondern einfach nur neugierig und wollte einen Erfolg in meinem Projekt haben. Ich habe gedacht dass ein Forum dazu da ist Menschen zu helfen. In dem Thread sind nur sehr wenige nützliche Beiträge. Aber nein, da müssen sich manche aufspielen, und darüber meckern wie faul der Threadersteller doch ist, aber nichts Produktives beitragen. Tut mir leid eure Zeit in Anspruch genommen zu haben, kommt nie wieder vor. Danke an die anderen, die etwas sinnvolles beigetragen haben.
Osmodia schrieb: > Übrigens bin ich nicht zu faul, sondern einfach nur neugierig und wollte > einen Erfolg in meinem Projekt haben. > Übrigens gibt es zu BASCOM eine wunderbare Doku und einige Online-Tutorien. > Ich habe gedacht dass ein Forum dazu da ist Menschen zu helfen. Wenn sie konkrete Probleme haben. Aber das Forum ist nicht dazu da, um dir aus der Doku vorzulesen. http://avrhelp.mcselec.com/ Mach die "BASCOM Language Reference" auf und scroll runter bis $EEPROM Draufklicken - und da hast du deine Beschreibung. Inklusive Beispiel. (PS: Du hast genau dieselbe Hilfe auch schon auf deinem Rechner. Einfach mal F1 drücken) Was machst du eigentlich, wenns mal wirklich schwierig wird?`
Falk Brunner schrieb: > Gut, dann reicht es vielleicht 25.000 Tage, macht ~4 Jahre. [schlauschnackmode ON] Das sind dann wohl eher 68 Jahre... [/schlauschnackmode OFF]
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.