Forum: Mikrocontroller und Digitale Elektronik LPC Schriftarten einbinden Problem mit PROGMEM


von Tom (Gast)


Lesenswert?

Hallo,
ich bin gerade dabei mich an der Darstellung von Schrift auf einem 
Display zu versuchen, ich arbeite hiermit mit einem bereits bestehenden 
und getesteten Program für einen ATMEGA168.
Um mein Problem deutlich zu machen zeige ich nun einige Dinge die ich 
verändert habe, da PROGMEM beim LPC nach meiner Recherche nicht mehr 
nötig ist.

vorher:
1
//load height of font in bytes
2
inline uint8_t font_get_height_bytes(FONT_P charset) 
3
{
4
  uint8_t t = pgm_read_byte(&charset->height);
5
   
6
  return ((t-1)/8+1);
7
}

nachher
1
//load height of font in bytes
2
inline uint8_t font_get_height_bytes(FONT_P charset) 
3
{
4
  uint8_t t = (&charset.height);
5
   
6
  return ((t-1)/8+1);
7
}

an dieser Stelle bekomme ich nun keine Fehler mehr.
Nun habe ich ein Look-up-table für eine Schriftart erstellt.
hierbei jedoch erhalte ich folgenden Fehler und kann ihn nicht ganz 
zuordnen bzw weiß nicht was falsch ist
1
#ifdef FONTS_INCLUDE_font_proportional_16px
2
  const char font_proportional_16px_data[] = {...
3
};
4
  const struct font_info font_proportional_16px PROGMEM = {0xF7+(0x06<<8),0x0B,0x10,0x21,0xFC,font_proportional_16px_data,(char*)font_proportional_16px_data+0xFC-0x21+1};
5
#endif

Fehler:Y:/Eigene Dateien/CrossWorks Projects/Neuer 
Ordner/mfa_display.c:414: error: initializer element is not computable 
at load time
Y:/Eigene Dateien/CrossWorks Projects/Neuer Ordner/mfa_display.c:414: 
error: (near initialization for 'font_prop_16px.widthtable')


Vielen Dank für alle Ideen =)

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.