INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
EEPROM - lesen/schreiben von mehreren Bytes in einem Rutsch
16.05.2014, 16:15 (Dieser Beitrag wurde zuletzt bearbeitet: 16.05.2014 18:45 von rkuehle.)
Beitrag #1
EEPROM - lesen/schreiben von mehreren Bytes in einem Rutsch
Hallo Forum,

um die Nutzung des EEPROM effizienter codieren zu können, gibt es die Möglichkeit mittels einer zusätzlichen include-Datei, Arrays, Strukturen oder auch einzelne Werte > 255 ohne Schleifen oder Teilung in HIGH/LOW-Byte mit einem einzelnen Aufruf zu speichern bzw. zu lesen. Die Aufrufe geben die Anzahl der geschriebenen/gelesenen Bytes zurück, so daß man dann gut die nächste freie Position im EEPROM bestimmen kann. So wirds gemacht:
1. Die include-Datei zB. "EEPROMAnything.h"
Code:
#include <EEPROM.h>
#include <Arduino.h>
template <class T> int EEPROM_writeAnything(int ee, const T& value)
{
    const byte* p = (const byte*)(const void*)&value;
    unsigned int i;
    for (i = 0; i < sizeof(value); i++)
          EEPROM.write(ee++, *p++);
    return i;
}
template <class T> int EEPROM_readAnything(int ee, T& value)
{
    byte* p = (byte*)(void*)&value;
    unsigned int i;
    for (i = 0; i < sizeof(value); i++)
          *p++ = EEPROM.read(ee++);
    return i;
}
Die Aufrufe lauten dann zB:
Code:
#include <EEPROM.h>
#include "EEPROMAnything.h"
// eine Struktur
struct config_t
{
    long alarm;
    int mode;
} configuration;
// lesen
    EEPROM_readAnything(0, configuration);
// schreiben
    EEPROM_writeAnything(0, configuration);

Finde ich ganz hilfreich.

Grüße Ricardo

Edit: Beitrag nochmal korrigiert, da fehlerhafte Aussage drin war! RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.05.2014, 18:56
Beitrag #2
RE: EEPROM - lesen/schreiben von mehreren Bytes in einem Rutsch
Hi,
praktisch...
Bis einer versucht, Pointer uns EEPROM zu schreiben ;-)
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.05.2014, 20:01
Beitrag #3
RE: EEPROM - lesen/schreiben von mehreren Bytes in einem Rutsch
Hallo Thorsten,

Zitat:Bis einer versucht, Pointer uns EEPROM zu schreiben ;-)
Die Idee ist schon wieder so schräg, daß man es glatt probieren müsste Big Grin

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Die Bytemühle - einfacher Zugriff auf einzelne Bytes einer Mehrbyte-Variablen ardu_arne 4 2.183 16.11.2015 19:30
Letzter Beitrag: Retian
  Ausgabe LCD Text + Integer bzw. Text + Float in einem Aufruf rkuehle 0 4.500 13.12.2013 21:21
Letzter Beitrag: rkuehle

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste