MaHa76:
Ah, ok, und auf dem Weg kann ich es als String lassen?
Nein!
Aber als Zeichenkette.
#include <EEPROM.h>
using WeckZeitBezeichner = char[32];
struct Weckzeit
{
WeckZeitBezeichner bezeichner;
byte stunde;
byte minute;
byte wochentag; // Bitmaske 1 Bit ungenutzt
bool feiertage;
bool brueckentage;
// sonstiger Kram
};
Weckzeit EEMEM weckzeiten[12] ;
void setup()
{
Serial.begin(9600);
char testtext[] = "Voll Alarm!"; // dieser Text soll in den Datensatz mit dem Index 4 geschrieben werden.
byte eintragsindex = 4; // Bezeichner soll in den 5ten WeckerEintrag (index 4) geschrieben werden.
int adress = (int) & weckzeiten[eintragsindex]; // Adresse des Datensatzes im EEPROM
Weckzeit temp; // temporärer Platzhalter für einen kompletten Weckzeit Eintrag
EEPROM.get(adress,temp); // Datensatz aus dem EEPROM lesen
strcpy(temp.bezeichner,testtext); // Variable in den Datensatz kopieren.
EEPROM.put(adress,temp); // Datensatz in das EEPROM schreiben
// testcode
EEPROM.get(adress,temp); // Datensatz aus dem EEPROM lesen
Serial.println(temp.bezeichner); // eben geschriebenen Bezeichner ausgeben
}
void loop()
{
}
Kaum getestet, und wirft noch Warnungen