Hey, bin neu hier im Forum also sorry wenn nich gleich alles passen sollte... Ich habe Folgende problemstellung: Ich möchte ein kleine Programm bei dem man auf Tastendruck eine Nummer in den Flashspeicher einliest. Das programm ist bisher so aufgebaut dass man mit einem 2. Taster die Anzeige in einem LCD weiter schalten kann. Die Anzeige wir aus einem 3Dimensionalen Array von Chars ausgelesen. Nun möchte ich mit einm Taster die aktuelle Arraynummer im Flash speichern und das ganze mehrmal. sprich man kann mehrere auswahlmöglichkeiten Einspeichern. ich habe gedacht ich nehm dazu ein Array im Flash. Nun müsste ich allerdings die aktuelle position vom Array im Flash beim Programmstart auslesen, damit die neuen zu speichernden werte nicht über die anderen geschrieben werden. wie könnte ich das tun?
Tach Eddi, ich glaube hier versteht niemand so recht was du schreibst. Ein Mindestmaß an Rechtschreibung und Interpunktion sowie geordnete Gedankengänge wären sinnvoll. Man hilft dir sicher gerne weiter aber auf Rätsel raten hat keiner viel Lust. Lies deinen post einfach noch mal durch bevor du ihn abschickst. Zum eigentlichen Thema. Grundsätzlich ist für die Helfer nie gut nur ein winziges Teilproblem zu kennen. Beschreibe erst einmal was du eigentlich tun willst. An sonsten fehlen wichtige Informationen: Welche µC Platform verwendest du? AVR, PIC, MSP, ...??? Warum ist es nötig die Auswahlen im flash(ROM) und nicht im EEPROM des µC zu speichern? Oder hat dein µC kein EEPROM? Thor
Eddi schrieb: > ein kleine Programm bei dem man auf Tastendruck > eine Nummer in den Flashspeicher einliest. > ... > die aktuelle position vom Array im Flash beim Programmstart auslesen einlesen???? Du meinst bestimmt "abspeichert". Lesend ist halt die Richtung "raus aus <irgendwas>".
ja ok etwas verwirrend dach ich mir schon fast :D zuerst mal danke an euch beiden... ja ich meinte abspeichern... Ich benutze den ATMega8 von AVR sollte ja jeder kennen. Kurz und knapp will ich mit einem Tastendruck eine Integerzahl im Flash abspeichern das ist ja kein problem. Allerdings soll nun wenn ds programm wieder startet (nachdem der microkontroller ausgeschaltet wurde) diese Zahl aus dem Flashspeicher wieder in eine Variable gelesen werden. wäre das einfach mit static const int8_t PROGMEM; gelöst?
Doch doch man kann auch on the run das flash beschreiben. Das ist nur um Längen komplizierter und lamgsamer. Ich glabe auch nicht, dass Eddi das dem EEP vorzieht. Wobei wir wieder bei Rätselraten wären... Also kommen wir zur ürsprünglichen Frage zurück: Warum flash und nicht EEPROM? Thor
naja ich dachte ganze einfach, dass der Flash viel einfache zu beschreiben wär und da de EEprom ja eine begrenzte schreibanzahl hat hab ich da den flash lieber vorgezogen trotzdem danke schon mal!
Bei Flash die die maximalen Schreibzykeln wesentlich geringer als beim EEPROM.
Hi >naja ich dachte ganze einfach, dass der Flash viel einfache zu >beschreiben wär und da de EEprom ja eine begrenzte schreibanzahl hat hab >ich da den flash lieber vorgezogen Der Flash aber auch. Zum EEPROM: http://www.atmel.com/Images/doc2526.pdf http://www.atmel.com/Images/AVR101.zip MfG Spess
achso ok dann hätten wir hier wieder einen dümmlichen Irrtum aus der Welt geschafft :D wie könnte man das ganze jetzt realisieren dass eine Variable den Wert der Speicherzelle vom EEprom bekommt? kann man die Adresse dann einfach hochzählen damit meine ich , wenn wert 1 im EEprom abgelegt ist wird zur adresse einfach 1 addiert und der nächste wert hinein geschrieben ?
Eddi schrieb: > achso ok dann hätten wir hier wieder einen dümmlichen Irrtum aus der > Welt geschafft :D > > wie könnte man das ganze jetzt realisieren dass eine Variable den Wert > der Speicherzelle vom EEprom bekommt? indem man die Funktion aus dem Vorrat an EEPROM-Funktionen benutzt? wie das geht, findet sich zb im AVR-GCC-Tutorial, Abschnitt 16.3 EEPROM
ah perfekt ging bei mir nur nicht, weils nicht global sondern in der main funktion geschrieben war danke! vorallm für die viele Gedult ;)
Mal von außen betrachtet: Nach so vielen Irrtümern halte ich es auch für möglich, dass Eddi das SRAM vorziehen würde. Das verträgt noch ein bisschen mehr Schreibzyklen. :-)
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.