Struct array in den EEprom schreiben und lesen

OP #2717911
Lesenswert?

Hallo

ich bekomme es nicht hin mein Struct array in den eeprom zu schreiben 
und anschliesend wieder zu lesen


Hier mal die Structuren:

struct structCMD{
int Befehl;
int param1;
int param2;
} cmdP = {
0, 0 ,0
};

structCMD CMD[50];
int anzCMD = 0;

struct StoreStruct{
    float impPause;
    float impDauer;
} storage = {
0, 0
};




void loadData() {
  unsigned int adrIP =0;
  for (unsigned int t=0; t<sizeof(storage); t++)
  {
      *((char*)&storage + t) = EEPROM.read(CONFIG_START + t);
      adrIP = t;
  }

  adrIP=adrIP + 1;
  for (int iP=0; iP<anzCMD; iP++)
  {
    for (unsigned int t=0; t<sizeof(cmdP); t++)
    {
      *((char*)&CMD[iP] + t) = EEPROM.read(adrIP + (iP + sizeof(cmdP)) 
+t);

    }
      Serial.println("Wert=");
      Serial.print(CMD[iP].Befehl);
      Serial.println("");

  }


}



void saveData() {

  unsigned int adrIP =0;
  for (unsigned int t=0; t<sizeof(storage); t++)
  {
      EEPROM.write(CONFIG_START + t, *((char*)&storage + t));
      adrIP = t;
  }


  adrIP=adrIP + 1;
  for (int iP=0; iP<anzCMD; iP++)
  {
    for (unsigned int t=0; t<sizeof(cmdP); t++)
    {
      EEPROM.write(adrIP +(iP + sizeof(cmdP))+ t, *((char*)&CMD[iP] + 
t));
    }
      //Serial.println("Wert=");
      //Serial.print(CMD[iP].Befehl);
      //Serial.println("");

  }


}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren