Da gibts noch ein paar mehr 'Probleme'.
Was willst du denn effektiv erreichen? Im Endeffekt soll doch alles
darauf hinauslaufen, dass es zb auf ein
1 | currentFont = &dogm_font_6x8;
|
hinausläuft.
Denn dann ist currentFont ja als Zeiger so eingerichtet, dass er die
Adresse des Fonts enthält derr benutzt werden soll.
Dazu müssen aber die Datentypen stimmen.
dogm_font_6x8 hat welchen Datentyp?
1 | ... const __flash font_t dogm_font_6x8;
|
2 | ********************
|
Und worauf kann currentFont zeigen?
1 | ... const font_t *currentFont;
|
2 |
|
3 | ************
|
tja. Fast. dogm_font_6x8 hat noch die Attributierung '__flash' und es
ist auch wichtig, dass die nicht verloren geht!
D.h. aber auch: dein Pointer muss auch in der Lage sein, auf etwas zu
zeigen, was im Flash residiert.
1 | ... const __flash font_t *currentFont;
|
so, jetzt tut er das.
Wenn das Ziel darin besteht, dass letzten Endes der Effekt von
1 | currentFont = &dogm_font_6x8;
|
sich ergeben soll UND du das ganze über eine Funktion abwickeln willst,
dann wirst du wohl nicht umhin kommen, dass der ganze rechte Teil der
Zuweisung als Funktionsargument an eine Funktion übergeben wird.
D.h. du willst deinen Aufruf so gestalten
1 | ...
|
2 | dogm_setFont( &dogm_font_6x8 );
|
3 | ...
|
damit das möglich ist, muss daher die Funktions Argument Schnittstelle
wie aussehen?