array >variable name< calling
-
Ich habe eine Grafik und Schriftart Bibliothek geschrieben.
Nun wollte ich es variabel machen.const unsigned int FONT8_FONT[] PROGMEM = {
…
// @36 '#' (6 pixels wide)
0x00, //
0x12, // # #
0x12, // # #
0x3F, // ######
0x12, // # #
0x12, // # #
0x12, // # #
0x3F, // ######
0x12, // # #
0x12, // # #
0x00, //
0x00, //
…
};// [Char width in bits], [Char height in bits], [Offset into in bytes]
const unsigned int FONT8_INFO[][3] PROGMEM = {
…
{6, 12, 36}, // #
…
};Im Programmaufruf:
uint8_t horSize = FONT8_INFO[(c -32)][0]; // Char width in bits
uint8_t vertSize = FONT8_INFO [(c -32)][1]; // Char height in bits
uint16_t fontNuber = FONT8_INFO [(c -32)][2] ; // Offset into in bytesfor (uint8_t o = 0; o < bytesPchar; o++) { charMap[o]= FONT8_FONT [ fontNuber + o ] ; }
… Print charMap to Grafik
Nun würde ich hier den Namen FONT8 als pointer *font aufrufen.
void character(uint8_t x, uint8_t Y, unsigned int *font, char c)und dann die Namen ergänzen mit _FONT und _INFO
Gibt es da eine Möglichkeit ?
Vy 73 Andreas
-
Nur über den Präprozessor, aber das ist Murks.
Übergib einfach 2 Zeiger an die Funktion.
PS: Editiere deinen Beitrag noch mal und packe den Code in C++-Tags.
-
Moin,
Danke für die Hilfe.
War mit meinen Gedanken wohl ehr bei Excel.vy 73 Andreas