Naja, alle Elemente eines Arrays sind gleich groß, da kannst du nicht viel machen. Bei dem Zugangscode kannst du ein Byte in low und high teilen (d.h. ein Byte enthält dann 2 Zeichen des Zugangscodes), dann brauchst du "nur" 4 Bytes um den ganzen Code abzuspeichern.
Beim Datum kannst du nicht viel sparen, außer, wenn du die low-Bytes des Jahres weglässt (also statt 2004 nur 04 abspeichern). Um diese 4 Bytes kommt man nicht umhin.
Für die Zeit brauchst du 2 Bytes (Minute, Stunde).
Das wären insgesammt 10 Bytes, bei 50 Einträgen ergiben sich 500 Bytes. In einem PIC18F452 hast du 1536 Bytes frei. Also nimmst du damit "nur" 1/3 des vorhandenen Speichers in Anspruch.
naja, als Pointer würde ich die "Anfangs-" und "Endszeichen" nicht bezeichnen. Weil in C ein Pointer die Andresse einer Memoryblockes beinhaltet. Eher als Laufvariable.
Naja, wie du in C eine Structur in ein Array haust:
MfGCode:#define MAXCOUNT 50 struct DATA { char ID76; char ID54; char ID32; char ID10; char day; char month; char year; char hour; char minute; }data; data Daten[MAXCOUNT];
Mobius







Zitieren

Lesezeichen