Integer zu uint8_t

  • C

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Maik H..

    Integer zu uint8_t

    Hallo zusammen.

    Ich möchte einer Funktion mit folgendem Header

    C-Quellcode

    1. ​void BSP_LCD_GLASS_DisplayChar(uint8_t* ch, Point_Typedef Point, DoublePoint_Typedef Colon, DigitPosition_Typedef Position)

    einen Integer übergeben, der für den ersten Parameter gebraucht wird. Allerdings weiß ich nicht, wie ich den Wert meines Arrays numbers[position] an die Funktion korrekt übergeben kann.
    Es funktioniert lediglich mit einem festen Wert, wenn ich ihn als "2" oder Ähnliches übergebe.


    Wahrscheinlich handelt es sich um einen Anfängerfehler, bin derzeit noch neu in C.
    Würde mich über Hilfe freuen, vielen Dank bereits im Vorraus.
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation
    Das ganze ist in C.
    Ich benutze die dargestellte Funktion um einen Buchstaben auf dem Bildschirm anzuzeigen, möchte das Ganze allerdings dazu verwenden eine Zahl (0-9, einstellig) anzuzeigen.

    C-Quellcode

    1. unsigned char a = numbers[position];
    2. BSP_LCD_GLASS_DisplayChar(a, POINT_OFF, DOUBLEPOINT_OFF, position);

    Mache ich das nun so, wird mir eine 6 angezeigt, und der Wert von a ist 9 '\t'. Aber ich möchte auf dem Bildschirm den gleichen Wert stehen haben, also eine 9, was der eigentliche Wert von numbers[position] in diesem Moment ist (vor der Umwandlung in einen Char).
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation
    Was ist numbers und woher kommt position? Ausserdem darf das nicht gehen, ein unsigned char ist kein unsigned char*. Wie sind POINT_OFF und DOUBLE_POINT_OFF definiert? Poste am Besten den kompletten Header. Wenn da ein Array reingeht, musst du die Arraylänge angeben, oder will der einen Nullterminator?
    Konnte es bereits lösen. Es ist so, dass die gezeigte Funktion einen Pointer benötigt, keine Variable direkt.

    C-Quellcode

    1. uint8_t c = numbers[position]+0x30;
    2. BSP_LCD_GLASS_DisplayChar(&c, POINT_OFF, DOUBLEPOINT_OFF, position);
    Das hat es gelöst.
    Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplimentär zur Favorisierung adäquater komplexer Algorithmen.
    ------------------------------------------------------------------------------------
    Rising Existence - das GTA V-MP Projekt mit Zukunft und Innuvation