Forum: Compiler & IDEs Und nochmal GLCD


von Joachim .. (joachim_01)


Lesenswert?

Hi, ich passe gerade die GLCD-Bibliothek von apetech auf einen 
ATMega2560 an.

void ks0108SelectFont(const char* font, ks0108FontCallback callback, 
uint8_t color);


Nun ist aber der Font als

static uint8_t Arial_Bold_14[] PROGMEM = {
    0x22, 0x08, // size
    0x0A, // width
    0x0E, // height
    ...
    ...
}

ausgeführt, dies führt zu:
Error expected 'const char *' but argument is of type 'uint8_t *'


Angepasst hilft das aber auch nicht weiter:
void ks0108SelectFont(static uint8_t * font, ks0108FontCallback 
callback, uint8_t color);

ergibt:
Error storage class specified for parameter 'font'

Liegt's an den compiler-Einstellungen? Ich hab's mit verschiedenen 
Optimierungen probiert, geht nicht.

von Timmo H. (masterfx)


Lesenswert?

Nimm mal das const oder static ganz weg.
In der ks0108SelectFont-Routine musst du wegen PROGMEM dem font 
natürlich mit pgm_read_byte etc. auslesen. In allen anderen Funktionen 
die auf den font zugreifen natürlich auch.

von Joachim .. (joachim_01)


Lesenswert?

Habs hinbekommen, andere Fonts wurden anders deklariert,hab die 
Deklarationen einfach umkopiert.

>Nimm mal das const oder static ganz weg.
Ich werd's ausprobieren. Danke.

Hab aber nu nochn Problemchen, readdata() geht nicht, dadurch gibt's 
Bilschirmmüll. Liegt an der Anpassung auf meine Beschaltung.

Alles in allem aber ein super Projekt.

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.