Flash zum Speichern

Gast #69139
Hallo!

Ich möchte mir ja eine Lüftersteuerung für meinen PC basteln, und habe
es soweit fast fertig, allerdings muß ich jetzt die Temperaturwerte
vorher via ISP einspielen, bei einer späteren Änderung im Menü
speichert er den Wert nicht (ist klar, halt RAM).

Was kann ich tun um ein paar bytes fest zu speichern, hat der AT90s4433
ein internes flash wo sowas möglich ist?
Wenn ich ein externes benötige, wo bekomme ich das eine
Typenbezeichnung wäre super, da sonst finde ich das im leben nicht.

Danke!
Gast #69140
hallo,
also ich kenne das so:
im flash speichert man das abzulaufende programm, und im eeprom kann
man variablen speichern. welche programmiersprache benützt du? bin
selber noch anfänger, vielleicht stimmts auch nicht, was ich hier
schreibe.
mfg raoul4
Gast #69141
Schaust halt ins Datenblatt und suchst nach EEprom, zu 99% hat 4433
eins. Sollte er keines haben oder zuwenig Platz google nach i2c und
EEprom und du wirst sicher fündig.

grüsse leo9
Gast #69142
4433 hat ein internen EEPROM
Da kannst du das bequem ablegen, im Datenbaltt des 4433 ist beschrieben
wie du auf das EEPROM zugreifen kannst, ist relativ einfach, Address
anlegen, strobe, Datum lesen/schreiben.
Mit den Prommern, mit denen du den code ins flash schreibst, kannst du
idR auch das EEprom initial beschreiben, falls du im Betrieb nur lesen
willst.
Externe Lösungen sind komplizierter zum ansteuern, wenn dann würde ich
auf ein I2C EEprom zurückgreifen z.B. 24C01

ciao
remo
Gast #69143
Ja aber kann man das EEprom aber auch wieder beschreiben, also im
laufenden Programm Variablen zwischenspeichern, die nach dem
ausschalten noch da sind?
Was genau für ein Teil benötige ich den?
Ich programmiere mit Bascom Basic, und finde das eigendlich ziemlich
gut.
Gast #69144
Hi!

Ich würde dir empfehlen, die variablen am anfang zu lesen und am Ende
des Programms zu speichern. Ich meine damit nur das der Wert nicht
dauern ändern soll dafür kannst du eine normale Variable nehmen..Dies
nur, weil ein Eeprom nicht beliebig oft beschrieben werden kann.
Sondern jede Zelle 'nur' etwa 100000 mal. Und sagen wir du setzt die
Variable zum Beispiel so ein:

for a = 1 to 10000
next a

..wobei a diese Variable wäre, wäre die Zelle schnell mal futsch..
Aber guck mal in der Bascom Hilfe unter:

readeeprom
writeeeprom

Es besteht auserdem die Möglichkeit eine Variable als EEprom Variable
zu definieren. Dies ginge z.B. so:
Dim a as eram byte

MFG Nik
Gast #69145
Hi,

du solltest in deine EEPROM Funktion einige wichtige Sachen beachten.
z.B. Wert nur bei Aenderung ins EEPROM speichern. Erhoeht sehr stark
die Lebensdauer des EEPROMS. Desweiteren ist darauf zu achten das du
das erste Byte im EEPROM nicht benutzt, da es vorkommen kann das es
nach einem RESET geloescht wird.


Mfg

Dirk
Gast #69146
Danke für die Antworten, hat mir sehr geholfen.
Der Wert  soll eigendlich nicht so oft geändert werden, halt nur um
einen Sollwert einer Temperatur zu speichern, also wird dieser Wert
dann (fast) immer nur gelesen.
also dim as eram byte wäre genau das richtige.

Nochmal besten Dank!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.