Forum: Compiler & IDEs Frage zu C Schreibweise bei GCC


von Peter K. (Gast)


Lesenswert?

Hallo,

hab hier ne Frage fuer C Spezialisten:

Ich habe in meinem C code fuer den ATmega48 ein array im EEPROM 
angelegt. Das sieht so aus:

uint8_t   array[255] EEMEM = {0};

Jetzt moechte ich aber schon einige default Werte eintragen. Also zum 
Beispiel so:

uint8_t array[255] EEMEM = {1,2,5,7,9,...};

Das wird aber bei 256 Werten ganz schoen unuebersichtlich und lang. Gibt 
es da keine bessere Schreibweise? Kann gerne fuer jedes Byte ne eigene 
Zeile sein, hauptsache uebersichtlicher...

Danke fuer Tips!!

Peter.

von Francesco N. (franceso-)


Lesenswert?

{ [2] = 3, [8] = 8 ... };

von Thomas (Gast)


Lesenswert?

Damit die Default-Werte auch nachher "wirksam" werden, muss du nachher 
auch die vom GCC erstellte .eep Datei in deinen Controller übertragen.
Ansonsten steht im EEPROM das drin was zuletzt darin stand.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Kann gerne fuer jedes Byte ne eigene
> Zeile sein, hauptsache uebersichtlicher...

Kannst du doch halten wie ein Dachdecker.  Du kannst

{1,2,3,4}

oder

{1, 2, 3, 4}

oder

{
1,
2,
3,
4
}

oder

{1,
    2,
        3,
            4}

schreiben oder auch

{1/*erster Wert*/,2/*zweiter Wert*/,3,4/*der Rest*/}

von unscheinbarer WM-Rahul (Gast)


Lesenswert?

Du kannst deine Tabelle auch mit einer Tabellenkalkulation erstellen 
lassen (falls sich was berechnen lassen muß), dann als Txt exportieren. 
Vielleicht kann man auch noch der Tabellenkalkulation auch gleich ein 
Trennzeichen mitgeben. Dann kommt es nur noch zu einem Copy'n'Paster...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.