technikus schrieb:
> Gerne möchte ich EEPROM Variablen in einer Funktion mit
> Übergabeparametern schreiben.
>
> //die Funktion
> void setIrDataToEeprom (uint8_t da, uint8_t kc)
> {
>
> eeprom_write_byte(&da, Rc5DeviceAdress);
> eeprom_write_byte(&kc, Rc5KeyCode);
Wessen Adressen nimmst du hier?
Richtig, die Adressen der lokalen Variablen da und kc
> //Menupunkt xx
> if (rc5_data_receive())
> setIrDataToEeprom (DeviceAdressKeyStandby,KeyCodeKeyStandby);
das sind aber nicht dieselben Adressen, wie die, die du hier genommen
hast. da hat denselben Inhalt wie DeviceAdressKeyStandby, aber es ist
eine andere Variable und liegt daher an einer ganz anderen Adresse im
Speicher.
> eeprom_write_byte(&DeviceAdressKeyStandby, Rc5DeviceAdress);
hier hingegen nimmst du tatsächlich die Adresse von
DeviceAdressKeyStandby
Dein Code ist etwas ungewöhnlich, denn normalerweise sind ja gerade die
Adressen fix, an denen etwas im EEPROM gespeichert wird und die dort zu
speichernden Werte sind variabel. Bist du sicher, dss du das willst?