Forum: Mikrocontroller und Digitale Elektronik INT im Flash ROM


von Gerald G. (Gast)


Lesenswert?

Hallo.

Ich muss in meinem Programm meinem Programm (GCC) eine integer
konstante im flash rom ablegen. jetzt kann ich natürlich einfach
folgendes benutzen

prog_char zahl[] = { 0x5A, 0xC1 };

leider gibt es ja nicht prog_int.
wie kann ich nun in meinem Programm die so gespeicherte zahl in eine
int variable kopieren ?


(ich benutze einen ATMega16)
MfG

von Christian Zietz (Gast)


Lesenswert?

Mal ein paar Source-Code-Schnipsel zu Deinem Problem:

Hier ist das PROGMEM wichtig, dann landen die Konstanten im Flash-ROM:
unsigned int LCD_digit_table[] PROGMEM =
{
    0x5559,     // '0'
    0x0118,     // '1'
    [...]
}

pgm_read_word liest die Daten aus dem Flash (d.h. von der gegebenen
Adresse):
seg = pgm_read_word(&LCD_digit_table[digit]);

Christian

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.