Forum: Compiler & IDEs Array von Structs im EEPROM sichern und laden


von Falko Jahn (Gast)


Lesenswert?

Hallo zusammen,

ich habe 4 Ausgänge auf einer Platine. Für jeden dieser 4 Ausgänge soll 
eine Konfiguration gespeichert werden. Also habe ich mir folgende 
angelegt:
1
  typedef enum ext_output_mode
2
  {
3
    EXT_OUTPUT_MODE_U_BATT_SWITCH,
4
    EXT_OUTPUT_MODE_U_IN_SWITCH,
5
    EXT_OUTPUT_MODE_CHARGER_STATE,
6
  }  ext_output_mode_t;
7
8
  typedef struct {       
9
     ext_output_mode_t ext_output_mode;    
10
    uint8_t v_high;
11
    uint8_t v_low;
12
    uint8_t inverted;
13
  } ext_output_config_t;
14
15
        ext_output_config_t ext_output_config[4];


Jetzt gibt es ein Menü indem ich jeweils ein Ausgang konfigurien kann 
und möchte dann disen Ausgang im EEPROM speichern. Mein Versuch das so 
zu machen klappt leider nicht:
1
eeprom_write_block(ext_output_config[output],&eram_ext_output_config,sizeof(ext_output_config_t));

Fehler  1  incompatible type for argument 1 of '__eewr_block_x128a1'



Hat jemand ne Idee wie man es richtig macht?

Gruß
Falko

von Coder (Gast)


Lesenswert?

Die Fehlermeldung sagt es Dir. Du übergibst einen falschen Datentyp. Was 
für einen Datentyp wird denn Da wohl erwartet?

von Stefan E. (sternst)


Lesenswert?

eeprom_write_block(ext_output_config[output], ...
->
eeprom_write_block(&ext_output_config[output], ...

von Coder (Gast)


Lesenswert?

@Stefan Ernst
Damit wäre Lerneffekt komplett dahin.

von Falko Jahn (Gast)


Lesenswert?

ups, da hätte ich auch drauf kommen können. VIELEN DANK!!!
Falko

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.