String an Dispaly schicken



  • Hallo

    Ich habe hier eine Anweisung, die ich nicht verstehe.
    Und zwar kann das String max. 20 Zeichen sein (1 Zeile), aber warum wird hier in der ersten if *msg == '%' verglichen und dem pointer mit 1 inkrementiert und dessen wert cc übergeben?

    verstehe ich nicht und was soll das mit den Zeichen 0 und 7

    void schreibelcd(const char *msg) {
        char cc;
    while ( *msg != '\0' ) {
            if ( *msg == '%' ) {                    // Custom Char Support
                cc = *(msg+1);                      // extract the custom character number
                if ( (cc >= '0') && (cc <= '7')) {  // chech if custom character number is within the range
                    lcdData(cc - '0');              // send custom character
                    msg++;
                } else {
                    lcdData('%');
                }
            } else {
                lcdData(*msg);
            }
            msg++;
        }
    }
    


  • Geraten:

    Das Display unterstützt 8 Benutzerdefinierte Zeichen Code (0 - 7).
    Diese kannst du mit der Funktion mit %0 bis %7 ausgeben lassen.
    Dabei soll aber nicht das %-Zeichen mit ausgegeben werden.

    Wenn hinter dem % Zeichen keine Ziffer von 0 - 7 kommt, dann wird das %-Zeichen ausgegeben.

    Gemeint ist das wohl ähnlich wie bei printf



  • Hallo Dirk
    Vielen Dank


Anmelden zum Antworten