Roman schrieb:
> @ Karl Heinz
>
> Das verstehe ich jetzt nicht ganz. Warum sollte der Controller bei einem
> Neustart die Variable "Parameter" im EEPROM nicht jedes mal auf den Wert
> 10 setzen?
Weil es eine EEPROM Variable ist.
Die wird vom C-System überhaupt nicht angegriffen und wie eine normale
Variable behandelt.
Die existiert nur deswegen im Programm, damit in der EEPROM Belegung
entsprechender Platz reserviert wird und du nicht mit Adressen in Form
von Zahlenwerten im Programm hantieren musst. Mehr nicht.
Wenn du auf die Variable zugreifen willst, dann musst du das über die
Spezialfunktionen machen. Aber ansonsten, für alles andere, hält sich
der Compiler von dieser Variablen raus.
> Wenn ja, dann hätte sich mein Problem gelöst und ich brauche kein Flag
> oder sonstiges.
Du brauchst auch so kein Flag.
Das EEPROM verändert sich nur, wenn du explizit darauf schreibst, oder
wenn du deinem Brennprogramm sagst, es möge die Initialisierung (die der
Compiler aus dem C-Code extrahiert und in eine eigene Datei geschrieben
hat) explizit ins EEPROM brennen.
Abgesehen davon verändert das EEPROM seine Werte nicht.
Insbesondere wird die im Programm angegebene Initalisierung NICHT beim
Programmstart erneut ins EEPROM geschrieben. Diese Initialisierungen
werden vom Compiler aussortiert, in eine eigene Datei geschrieben und du
hast die Möglichkeit, mit deinem Brennprogramm diese Initialisierungen
ins EEPROM schreiben zu lassen. Aber das ist deine Entscheidung ob du
das machen willst. Tust du das nicht, dann verändert sich das EEPROM
auch nicht.