www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wert dauerhaft Speichern ATMEGA8535


Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Micha (Gast)
Datum:

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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.