Naja, der Sketch ist inzwischen schon recht umfangreich...
Ich schneide mal die betreffenden Teile heraus- in der Hoffnung die Problematik wird erkennbar. Der gesamte Sketch ist zu lang :-/
so sieht ein (kleiner) Teil der Variablen aus:
int WeckerEingabe[12]; // Stunde, Minute, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag, Feiertag, Brückentag, aktiviert
String WeckerEingabeName[20];// = {"n","e","u","e","r"," ","A","l","a","r","m","","","","","","","","",""};
String WeckerEingabeNameclear[20] = {"","","","","","","","","","","","","","","","","","","",""};
byte Wecker1[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
String Wecker1Name;
byte Wecker2[12];
String Wecker2Name;
byte Wecker3[12];
String Wecker3Name;
byte Wecker4[12];
String Wecker4Name;
byte Wecker5[12];
String Wecker5Name;
byte Wecker6[12];
String Wecker6Name;
byte Wecker7[12];
String Wecker7Name;
byte Wecker8[12];
String Wecker8Name;
byte Wecker9[12];
String Wecker9Name;
byte Wecker10[12];
String Wecker10Name;
String AlarmText;
byte Cursor;
String aktuellerBuchstabe;
byte ZeichenWahl;
byte Speichern;
byte letzteEingabeloeschen;
byte Eingabeloeschen;
unsigned int SpeicherUhr = 0;
unsigned int SpeicherKalender = 1;
unsigned int SpeicherSchrift = 2;
unsigned int SpeicherDesign = 3;
unsigned int SpeicherWecker1[12] = {4,5,6,7,8,9,10,11,12,13,14,15};
unsigned char SpeicherWecker1Name[20] = {16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35};
und nun das lesen im setup:
UhrAuswahl = EEPROM.read(SpeicherUhr);
KalenderAuswahl = EEPROM.read(SpeicherKalender);
Schrift = EEPROM.read(SpeicherSchrift);
Design = EEPROM.read(SpeicherDesign);
for ( int i = 0; i < 12; i++ )
{ Wecker1[i] = EEPROM.read(SpeicherWecker1[i]); }
Wecker1Name = EEPROM.read(SpeicherWecker1Name[0])&EEPROM.read(SpeicherWecker1Name[1])&EEPROM.read(SpeicherWecker1Name[2])&EEPROM.read(SpeicherWecker1Name[3])&EEPROM.read(SpeicherWecker1Name[4])&EEPROM.read(SpeicherWecker1Name[5])&EEPROM.read(SpeicherWecker1Name[6])&EEPROM.read(SpeicherWecker1Name[7])&EEPROM.read(SpeicherWecker1Name[8])&EEPROM.read(SpeicherWecker1Name[9])&EEPROM.read(SpeicherWecker1Name[10])&EEPROM.read(SpeicherWecker1Name[11])&EEPROM.read(SpeicherWecker1Name[12])&EEPROM.read(SpeicherWecker1Name[13])&EEPROM.read(SpeicherWecker1Name[14])&EEPROM.read(SpeicherWecker1Name[15])&EEPROM.read(SpeicherWecker1Name[16])&EEPROM.read(SpeicherWecker1Name[17])&EEPROM.read(SpeicherWecker1Name[18])&EEPROM.read(SpeicherWecker1Name[19]);
und hier der Teil wo die Werte geschrieben werden sollen- da kommt es nun zum Konflikt:
if ( Speichern == 1 )
{
if ( Wecker1[0] == 0 || Wecker1[0] > 100)
{ for ( int i = 0 ; i < 12 ; i++ )
{ Wecker1[i] = WeckerEingabe[i];
EEPROM.write(SpeicherWecker1[i], Wecker1[i]);}
Wecker1Name = WeckerEingabeName[0] + WeckerEingabeName[1] + WeckerEingabeName[2] + WeckerEingabeName[3] + WeckerEingabeName[4] + WeckerEingabeName[5] + WeckerEingabeName[6] + WeckerEingabeName[7] + WeckerEingabeName[8] + WeckerEingabeName[9] + WeckerEingabeName[10] + WeckerEingabeName[11] + WeckerEingabeName[12] + WeckerEingabeName[13] + WeckerEingabeName[14] + WeckerEingabeName[15] + WeckerEingabeName[16] + WeckerEingabeName[17] + WeckerEingabeName[18] + WeckerEingabeName[19];
Wecker1[11] = 1; tft.clearScreen(Hintergrund1);BildSchirm6(); BildSchirmWahl = 6; Speichern = 0;
for ( int k = 0 ; k < 20 ; k++ )
{ EEPROM.write(SpeicherWecker1Name[k],WeckerEingabeName[k]); }
}}