Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 01. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

Single Variable speichern

ATMega-Controller in BASIC programmieren

Postby feldho » Wed Jan 14, 2009 12:00 am

Hallo,
ich habe eine Frage an die Bascom-Spezialisten:
Wie kann ich eine Single-Variable in einem I2Ceeprom abspeichern?
Wenn möglich mit 2 Stellen vor und 1 Stelle nach dem Komma.
Die Darstellung auf dem LCD funktioniert mit FUSING #.# recht gut,
aber wie funktioniert das beim Speichern?

Vielen Dank im Voraus

Horst
feldho
 
Posts: 4
Joined: Fri Jan 03, 2014 1:52 pm

Postby burkhard kainka » Thu Jan 15, 2009 12:00 am

Writeeeprom Variable, Adresse

Man könnte meinen da wird nur ein Byte gespeichert. Aber wenn die Variable länger ist, z.B. 4 Bytes, werden vier Speicherzellen benutzt. Man muss nur drauf achten, dass eine eventuell folgende Adresse um 4 höher liegen muss, sonst schreibt man sich was kaputt.

Mit Words habe ich es schon gemacht. Da wurden immer 2 Adressen verbraucht. Ich denke mit den Fleißkommazahlen geht es auch.
burkhard kainka
 
Posts: 736
Joined: Thu Jan 02, 2014 10:41 am

Postby feldho » Fri Jan 16, 2009 12:00 am

Hallo,
erstmal vielen Dank für die Antwort.
Ich habe eine Lösung gefunden:
Dim Mw as Byte
Dim Messwert as Single At Mw As Overlay
Dim Messwert_ar(4) As Byte At Mw As Overlay

Jetzt kann ich in dem Array "Messwert_ar" auf die Bytes der Single-Variable "Messwert" einzeln zugreifen und mit einer for to Schleife ins Eeprom schieben.

Funktioniert übrigens auch umgekehrt beim Auslesen des Speichers.
Messwert_ar Byteweise füllen und Messwert mit fusing(messwert,"#.#") ausgeben.

Vielleicht hilfts einem.

Grüße aus Köln
Horst
feldho
 
Posts: 4
Joined: Fri Jan 03, 2014 1:52 pm


Return to BASCOM-AVR-Kurs

Who is online

Users browsing this forum: No registered users and 1 guest