Forum: Mikrocontroller und Digitale Elektronik Wert dauerhaft Speichern ATMEGA8535


von Micha (Gast)


Lesenswert?

Hallo,
ich baue gerade eine Ansteuerung für einen Motor mit Geber. Nun möchte 
ich die Aktuelle lage das Motors speichern so das ich nach dem 
Einschalten sofort weis  wo der Motor steht. Nun wollte ich mir schon 
die Mühe machen ein externes EEPROM anzusteuern. Da lese ich im 
Datenblatt ( mega8535 ) das das geile Teil einen internen hat:
- 512 Bytes EEPROM
Endurance: 100,000 Write/Erase Cycles
– 512 Bytes Internal SRAM

Der SRAM ist glaube ich unendlich oft Beschreibbar.

Nun meine Frage:

- Kann ich eine Variable in das SRAM schreiben und bleibt diese auch 
ohne Spannung gespeichert ?

- Wenn ja, könntet Ihr mir ein paar Grundbefehle in GCC nennen ?
(Schreiben  Lesen  decleration



Vorne weg vielen Dank.



Gruß


Michael

von Johannes M. (johnny-m)


Lesenswert?

Micha wrote:
> - Kann ich eine Variable in das SRAM schreiben
Ja, Du kannst Werte im SRAM speichern.

> und bleibt diese auch
> ohne Spannung gespeichert ?
Nein, SRAM ist flüchtig.

> - Wenn ja, könntet Ihr mir ein paar Grundbefehle in GCC nennen ?
> (Schreiben  Lesen  decleration
Siehe oben.

Du wirst das EEPROM benutzen müssen und dafür sorgen müssen, dass nicht 
ständig darauf geschrieben wird.

Das SRAM wird übrigens in Hochsprachen vom Compiler verwaltet. Da gibts 
keine speziellen Befehle für. Für das EEPROM bringt die AVR-libc eine 
Bibliothek mit. Steht aber alles im AVR-GCC-Tutorial.

von STK500-Besitzer (Gast)


Lesenswert?

>- Kann ich eine Variable in das SRAM schreiben und bleibt diese auch
>ohne Spannung gespeichert ?

Nein, das ist halt das Problem des RAM...


>- Wenn ja, könntet Ihr mir ein paar Grundbefehle in GCC nennen ?
>(Schreiben  Lesen  decleration

Guck mal in die Dokumentation der Lib-C. Irgendwo auf deinem Rechner 
sollte sich ein PDF- oder HTML-Dokument mit der Beschreinung befinden.

von Frank B. (frank_b) Benutzerseite


Lesenswert?


von Micha (Gast)


Lesenswert?

Danke
das ist aber das interne EEProm. Ich brauche kein externes was ich über 
I2C ansteure oder so ?

von Johannes M. (johnny-m)


Lesenswert?

Micha wrote:
> Danke
> das ist aber das interne EEProm. Ich brauche kein externes was ich über
> I2C ansteure oder so ?
Ob Du ein externes brauchst oder nicht, kannst nur Du selber 
entscheiden. Wenn Dir 512 Bytes reichen, dann nimm das interne.

von Falk B. (falk)


Lesenswert?

@ Micha (Gast)

>ich baue gerade eine Ansteuerung für einen Motor mit Geber.

Was für ein Geber? Inkrematalgeber/ Drehgeber oder Absolutwertgeber?

> Nun möchte
>ich die Aktuelle lage das Motors speichern so das ich nach dem
>Einschalten sofort weis  wo der Motor steht. Nun wollte ich mir schon

Ist Unsinn, weil

- Einen Absolutwertgeber kannst du einfach auslesen und weisst wo der 
steht
- Ein Incremtalgeber kann im stromlosen Zustand verdreht werden und dann 
stimmt deine gespeicherte Postition nicht mehr und du muss so oder so 
eine neue Referenzfahrt machen.

>Der SRAM ist glaube ich unendlich oft Beschreibbar.

Sehr richtig.

>- Kann ich eine Variable in das SRAM schreiben und bleibt diese auch
>ohne Spannung gespeichert ?

Was für ein Speicher ist SRAM?

>- Wenn ja, könntet Ihr mir ein paar Grundbefehle in GCC nennen ?
>(Schreiben  Lesen  decleration

Ohweh. Beschäftige dich erstmal mit den Grundlagen. Dann sehen wir 
weiter.

MFG
Falk

von Micha (Gast)


Lesenswert?

Ok vielen Dank 512 Byte reichen denke ich locker. Ich will ja nur einen 
Wert schreiben b.z.w. überschreiben die Aktuelle Position halt. Erst 
hatte ich sorgen wegen den schreib lese Zyklen. Aber die gelten ja laut 
Anleitung für jede Speicherzelle. Und wenn ich am Tag maximal 5 mal 
schreibe dann reicht das, mhh für 54 Jahre. Da geht eher was anderes 
kaputt, z.B.:die Endstufe.

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
Noch kein Account? Hier anmelden.