Auf einem Gra-LCD TM24064B ADC-Wert ausgeben

Gast #2434974
Lesenswert?

Hallo,

ich hatte mir mal für das Problem diese Funktion gebastelt.

void Byte2CharArray(uint8_t number, char* str)
{
  str[0] = number/100 + 48;
  str[1] = number/10%10 + 48;
  str[2] = number%10 + 48;
}

Die dürftest du leicht auf uint16_t erweitern können.

Viele Grüße,

Arne
Gast #2435088
Lesenswert?

Jede Stelle berechnen und gut ist:
1
void AdcValOut (uint16_t AdcValue)
2
{
3
    uint8_t AdcValArray [5];
4
    uint8_t m = 4;
5

6
    do {
7
        AdcValArray [m] = '0' + AdcValue %10;                     // Berechnung der einzelnen Stellen sowie
8
        AdcValue /= 10;                                           // Wandlung nach ASCII und abspeichern im
9
    } while (m--);                                                // Array
10
    putChar ('\r');
11
    while (m != 3) {                                              // Anzahl der auszugebenden Stellen = 4
12
        putChar (AdcValArray [++m]);                              // Integer Wert ausgeben
13
        if (m == 0) putChar ('.');                                // Dezimalpunkt setzen
14
    }
15
}

putChar dann nur noch gegen deine Displayausgabe ersetzen.
Gast #2435678
Lesenswert?

Dachte das wäre mit den anderen Antworten längst gelöst.

z.B. in main.c
statt T6963cPutStringXY_P(0, 0, PSTR("Hi!"));
1
{
2
  char Buffer[20];
3
  int i = 25;
4

5
  itoa( i, Buffer, 10 ); // http://www.mikrocontroller.net/articles/FAQ
6
  T6963cPutStringXY(0, 0, Buffer); // ohne _P !
7
}

Zu Beginn von main.c muss dann noch ein #include <stdlib.h> stehen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren