Datenablage

Wo legt man am günstigsten Daten ab? Das ist eine Frage, die sich nicht nur PC Besitzer stellen. Im MCU Umfeld hat das ganze eine besondere Bedeutung. Denn für unterschieldiche Daten können auch unterschiedliche Verfahren benutzt werden. Will ich z.B. nur ein paar Konfigurationsbytes ablegen, damit das Program beim Neustart diese wieder laden und weiter benutzen kann?
Oder schreibe ich mir einen Datenlogger, der Unmengen an Daten sammelt und diese Daten müssen später auch von anderen System, z.B. dem eigenen Rechner lesbar sein?

Hier gebe ich mal ein paar Hinweise, welchen Speicher man für was verwenden kann. Natürlich kann das jeder so machen wie er möchte, das sind nur Hinweise, keine Regeln.
Im Arduino haben wir folgende Speicherbereiche zur Verfügung:

  • RAM: Ist meistens recht klein (2kb) und wird eigentlich automatisch durch den Compiler verwaltet. Der Zugriff ist einfach. Variable definieren und benutzen. Fertig. Bei einem Reset bzw. Neustart ist der Inhalt aber weg. Das RAM ist sehr oft beschreibbar.
  • FLASH: Das Flash ist der Programmspeicher vom Arduino. Da der Flash speicher auch Programmatisch beschreibbar ist, kann man das natürlich auch nutzen. 32Kb müssen jedoch mit Bootloader und PRogramm geteilt werden. Wenn man beim schreiben nicht aufpasst, kann man das Programm überschreiben, was imlaufenden Betrieb logischerweise nicht gut ist. Eine Flash speichereinheit ist nur ca. 10000 beschreibbar. Danach könnte Sie sich nicht mehr beschreiben lassen. Für Ab- und Zuschreibvorgänge ist das i.O.
  • EEPROM: EEPROM ist ein spezieller Speicher, der auch Programmatisch beschreibbar ist. Hier findet man keine Programmdaten und auch der Compiler macht mit diesem SPeicher nix. Auch das EEPROM ist 2KB groß. Es kann bis zu 100000 mal beschrieben werden. Man kann das EEPROM auch direkt vom PC aus lesen und beschreiben. (Der Arduino Bootloader und AVRDude machen's möglich). Eine einfache Bibliothek ist beim Arduino direkt mit dabei. Es gibt auch Erweiterungen für komplexere Daten dafür.
  • externes EEPROM: Man kann auch ein externes EEPROM an den Arduino anschliessen. Dieses wird dann z.B. über SPI oder I2C angeschlossen. Diese gibt es in verschiedenen Größen und für beides gibt es entsprechende Arduino Bibliotheken. SPI EEPROM oder I2C
  • SD Karte: Ist das Sinnvollste bei großen Datenmengen. Der Arduino hat eine Bibliothek für das Lesen und Schreiben von Dateien auf SD Karte direkt mit dabei. Einschränkungen kann man bei der Bibliothek lesen.
arduino/tutorial/datenablage.txt · Zuletzt geändert: 2018/11/04 10:51 von 127.0.0.1
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0