Forum: Compiler & IDEs String aus Flash in snprintf


von Daniel Held (Gast)


Lesenswert?

Hallo,
ich möchte in eine snprintf-Anweisung einen String aus dem flash 
einfügen, leider bisher ohne Erfolg. Die Strings werden im Header in den 
flash geschrieben und dann im c-file enumeriert(ActiveLanguage[1]-[x]).
1
.
2
..
3
static const char menu_main_de[] PROGMEM = "Hauptmenue"; //im Headerfile
4
..
5
.
6
7
//c-file
8
snprintf(HelpStr, 17,"%5s %4s", Type, ActiveLanguage[1]);
9
lcd_puts(HelpStr);

mit "lcd_puts_p(activeLanguage[1])" funktioniert die ganze Sache.

sehe ich wieder mal den String vor lauter Pointern nicht?

mfg Daniel

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


Lesenswert?

Klingt nach avr-libc.  Nimm den format specifier %S und ignoriere
GCCs (falsche) Warnung, dass das Format einen wchar_t * erfordern
würde.

von Daniel Held (Gast)


Lesenswert?

Danke Jörg, hattest Recht - alles geht.

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.