Forum: Mikrocontroller und Digitale Elektronik digispark EEPROM schreiben / lesen


von Peter S. (hw-coach) Flattr this


Lesenswert?

Hi,
habe mir einen digispark mit ATTINY85 besorgt um mit dem "C" 
Programmieren zu starten.
Einfache Sachen klappen prima. (I/O - EIN- / Ausgabe).

Ich möchte das EEPROM nutzen. Klappt leider nicht. In verschiedenen 
Foren stoßen ich auf immer die gleichen Aussagen und Beispiele ohne das 
ich hier weiter komme. (Habe auch Einträge hier im Forum gesichtet)

Problembeschreibung, Fehler beim Compilieren::
wenn #include <avr/EEPROM.h>: =>Fehler: 'EEPROM' was not declared in 
this scope; also die Anweisungen in "setup" und "loop".

wenn #include <EEPROM.h>: => Fehler: EEPROM.h: No such file or 
directory; finden die H-Datei nicht.

Wo muss ich ansetzen um weiter zukommen? Für einen kurzen Hinweis wäre 
ich dankbar!
1
#include <Arduino.h>
2
#include <avr/EEPROM.h> // oder #include <EEPROM.h>
3
4
int EEadr=0; //1st EEPROM adresse
5
int EEval=5;
6
7
void setup()
8
{
9
  EEPROM.write(EEadr);
10
}
11
12
13
14
void loop()
15
{
16
  int EEtmp;
17
  EEtmp = EEPROM.read(EEadr);
18
}


[Mod: das nächste Mal die c-Tags selber einsetzen. Siehedie 
Bedienungsanleitung über jeder Texteingabebox]

: Bearbeitet durch Moderator
von Michael P. (mipo)


Lesenswert?

<avr/EEPROM.h> wird auf den ARV LibC-Header verweisen, der kennt 
schlichtweg kein Object mit dem Namen "EEPROM". Daher der Fehler mit dem 
"not declared".

Denke, Du willst das was von der entsprechenden Arduino-Klasse in 
"EEPROM.h" https://docs.arduino.cc/learn/built-in-libraries/eeprom

Dafür siehe hier: 
https://community.platformio.org/t/solved-error-including-eeprom-h-in-digispark-usb-project/8141, 
anscheinend musst Du die entsprechende Datei selbst in das "src" 
Verzeichniss kopieren

von Peter S. (hw-coach) Flattr this


Lesenswert?

Danke für den schnellen Hinweis - die links kannte ich bereits und lösen 
mein Problem nicht.
wenn ich die header datei in das gleiche Verzeichnis wie den quellcode 
ablegen soll, müsste ich irgendwoher die .h datei bekommen oder irgendwo 
etwas einstellen.
bekomme ich gerade nicht hin. Wo soll ich suchen?

von Peter S. (hw-coach) Flattr this


Lesenswert?

Eine Anmerkung. EEPROM.H wird in der ARDUINO ide für den  digispark 
nicht zur verfügung gestellt.
Deshalb brauche man dafür eine andere Quelle - HAt einer eine Idee dzu?

von Frank L. (hermastersvoice)


Lesenswert?

steht doch im Link

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src

von Peter S. (hw-coach) Flattr this


Lesenswert?

super der Hinweis; aber dafür bin ich zu "blöde" - wo finde ich denn die 
header datei zum down load?

von Frank L. (hermastersvoice)


Lesenswert?

nicht nur bunte Bildchen gucken, LESEN! Im ersten Link ist Alles 
enthalten, auch der Link zur Datei

von Peter S. (hw-coach) Flattr this


Lesenswert?

Vielen Dank,
habe das grundsätzliche Problem gelöst:
1) eeprom.h als dowload gefunden: 
https://github.com/arduino/ArduinoCore-avr/blob/master/libraries/EEPROM/src/EEPROM.h

2) .h - datei nicht mit der IDE erzeuge, besser einfachen EDITOR nehmen.

3) wenn Include Datei nicht in der IDE, dann ""nnnn.h" anstelle von 
<nnnn.h>
verwenden.

jetzt muss ich nur naoch rausfinden, ob das mit den ATTINY EEPROM auch 
richtig geht.

von Georg M. (g_m)


Lesenswert?


von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Georg M. schrieb:
> AVR-GCC EEPROM:

Wird von der EEPROM Klasse verwendet.
Da der TO, entgegen seiner Aussage, in einer C++ Welt arbeitet, kann man 
auch ruhig die Features nutzen, denke ich mal.

von Al. K. (alterknacker)


Lesenswert?

EEPROM.write(EEadr,EEval);

??
MfG
alterknacker

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.