Destination wird per Wert übergeben, du schreibst nur in eine lokale Kopie.
Code:void Set_Image (volatile Daten * dest, unsigned char Source_Address) { unsigned char i=0; for (i=0;i<Name_Length;i++) { dest->Name[i] = pgm_read_byte(&Sternbilder[Source_Address].Name[i]); } for (i=0;i<Daten_Length;i++) { dest->Bitfield[i] = pgm_read_byte(&Sternbilder[Source_Address].Bitfield[i]); } }
Lesezeichen