Zitat:
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?