mikrocontroller.net

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


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
//load height of font in bytes
inline uint8_t font_get_height_bytes(FONT_P charset) 
{
  uint8_t t = pgm_read_byte(&charset->height);
   
  return ((t-1)/8+1);
}

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

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

#ifdef FONTS_INCLUDE_font_proportional_16px
  const char font_proportional_16px_data[] = {...
};
  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};
#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 =)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.