Forum: Compiler & IDEs AVR-GCC: globale Variable im EEPROM


von Tobias (Gast)


Lesenswert?

Hallo allerseits,
Gerne möchte ich eine Variable im EEPROM ablegen und global darauf 
zugreifen können.
Leider krieg' ich das nicht hin.

Das Ganze sollte etwa so aussehen:
_______________________________
main.c:

#include <avr/eeprom.h>
#include "ADC_routines.h"
...
extern uint8_t offset[8] EEMEM;
...

main
{
  ...

  eeprom_write_byte(&offset[channel],55);
  ...
}

_______________________________
ADC_routines.h:
...
extern uint8_t calibrtated_offset[8] EEMEM;
...
_______________________________

ADC_routines.c:
...
eeprom_read_byte(&offset[channel]);
...
_______________________________


Natürlich kann ich "eeprom.h" nicht im file "ADC_routines.h" includen - 
aber wie kann ich dieses Array global erstellen?

Vielen Dank für die Hilfe!

von Rolf Magnus (Gast)


Lesenswert?

Tobias schrieb:
> Natürlich kann ich "eeprom.h" nicht im file "ADC_routines.h" includen -

Warum nicht?

von Tobias (Gast)


Lesenswert?

Danke. Das kann ich tatsächlich inkluden - aber leider mdeldet der 
Compiler immer noch
"undefined reference to 'calibrtated_offset' in eeprom.h"
Wie kann ich das lösen?

von Rolf Magnus (Gast)


Lesenswert?

Tobias schrieb:
> aber leider mdeldet der Compiler immer noch
> "undefined reference to 'calibrtated_offset' in eeprom.h"
> Wie kann ich das lösen?

Wo ist calibrtated_offset denn definiert? In deinen Codefragmenten kommt 
nur eine extern-Deklaration vor, aber keine Definition.

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.