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 bytes

    for (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


Anmelden zum Antworten