Moin

Danke für deine Hinweise. Das mit dem Ende vom EEPROM ist ein praktischer Hinweis, danke.

Zu dem Fehler der EEPROM Adresse 0. Ich bin nicht so ganz bewandert mit den Geschichten was mir das Makefile alles abnimmt. Wo muss das genau rein? Hier:

Code:
# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
	@echo
	@echo $(MSG_LINKING) $@
	$(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
Oder wo muss ich da was ändern? Ich steig da leider nciht so 100%ig durch.

case 7:
(uint16_t)(Messung*)0x02 ist nicht die "Breite" der Struktur, es ist 2 und der Ort für die erste Messung. (0x02 = sizeof(void*), d.h. vor der ersten Messung steht irgendein Pointer).
Ähm ... ok, ich glaube ich hab verstanden, was du mir sagen willst, aber heißt dass jetzt ich muss das ändern, oder kann ich das so lassen? Bzw. sollte ich da was ändern? Ich hab das so verstanden, dass ich in den ersten beiden Bytes(0 und 1) das WORD mit der Adresse speichere und dann im 3. Byte (0x02) anfange die Daten zu speichern. Ist da ein denkfehler drinn, oder meinst du nur ich kann mir das doppelte Casten sparen?

Danke

Andun

Nachtrag:

Achja, wie sieht das eigentlcih bei sizeof() aus? Übergeb ich da als Argument den Typ oder eine Instanz des Types? Also eine feste schon deklarierte Variable oder nur den Datentyp?