Ausgabe eines Wertes beim EA TFT 32 Display

Gast #5527835
Lesenswert?

Hallo Gemeinde
ich möchte mit dem Display TFT 32 von EA einen Text ausgeben. Das klappt 
damit sehr gut:
1
TFT32_Auswahl_Font(6);                    // Font einstellen Z + F - 1 - 6
2
  TFT32_Font_Zoom(3, 3);                    // Font Zoom x=1-8 y=1-8 Z + Z
3
  TFT32_Auswahl_Textfarben(12, 6);              // Textfarben einstellen 1-32 Vor ,Hinter F + Z
4
  TFT32_Text_ausgabe_L(0,37,50 , "Ende");            // x1a= 0 oder 1, x2b=0-255, y1=0-239
die Ausführung erfolgt damit
1
 void TFT32_Text_ausgabe_Z(int16_t x1a, int16_t x1b, int16_t y1, char * Text)
2
  {
3
    int8_t e;
4
    e = 0;
5
    int16_t bcc,i;
6
    bcc = DC1 + 0x08 + ESC + NUL + 'Z' + 'C' + x1a + x1b + y1 + strlen(Text);
7
    for (i=0; i<=strlen(Text); i++)
8
    bcc += Text[i];
9
    i2c_start(slave_adresse_1);
10
    i2c_write(DC1);
11
    i2c_write(0x08 + strlen(Text));  // len 0x06+Text
12
    i2c_write(ESC);
13
    i2c_write('Z');    // Z
14
    i2c_write('C');    // C
15
    i2c_write(x1b);
16
    i2c_write(x1a);
17
    i2c_write(y1);
18
    i2c_write(y1 >> 8);
19
    for (i=0; i<=strlen(Text); i++)
20
    i2c_write(Text[i]);
21
    i2c_write(bcc);
22
    i2c_stop();
23
    _delay_us(40);
24
    i2c_start(slave_adresse_2);
25
    e = i2c_readAck();
26
    i2c_stop();
27
    //itoa( e, Buffer, 10 );
28
    //lcd_printlc(3,5,Buffer);
29
    _delay_us(20);
30
  }
Möchte damit einen Wert ausgeben der vorher festgelegt wird oder den ich 
im Programm ändere. So z.B.:
1
// Ausgabe des Zählwertes
2
  uint8_t wert = 3;
3
  TFT32_Auswahl_Font(5);                    // Font einstellen Z + F - 1 - 6
4
  TFT32_Font_Zoom(3, 3);                    // Font Zoom x=1-8 y=1-8 Z + Z
5
  TFT32_Auswahl_Textfarben(12, 6);              // Textfarben einstellen 1-32 Vor ,Hinter F + Z
6
  
7
  TFT32_Text_ausgabe_L(1,10,185 , wert);            // x1a= 0 oder 1, x2b=0-255, y1=0-239
Möchte den "wert" ausgeben der soll zwischen 0 und 5 liegen
Vom Hersteller ist im Datenblatt dazu etwas angegeben. Habe die Angabe 
mal als Bild angehängt.
Hat jemand eine Idee wie ich das machen kann?
Arbeite mit C und dem Atmega 128
Angehängte Dateien:
Gast #5527856
Lesenswert?

Naja, Deine Funktion will einen char*, wert ist aber uint8_t.

sprintf sollte Dein Problem lösen.

e.g.
1
    char wertStr[8];
2
    sprintf (wertStr, %u, wert);
3
    
4
    TFT32_Text_ausgabe_L(1,10,185 , wertStr);

Grüsse,
René
Gast #5527886
Lesenswert?

Habe es so erst mal gemacht. Leider bekomme ich nicht die 3 angezeigt 
sondern 6 Warum?
1
uint8_t wert = 3;
2
  itoa( wert, Buffer, 10 );
3
  
4
  TFT32_Auswahl_Font(5);                    // Font einstellen Z + F - 1 - 6
5
  TFT32_Font_Zoom(3, 3);                    // Font Zoom x=1-8 y=1-8 Z + Z
6
  TFT32_Auswahl_Textfarben(12, 6);              // Textfarben einstellen 1-32 Vor ,Hinter F + Z
7
  TFT32_Text_ausgabe_L(1,10,185 , Buffer);            // x1a= 0 oder 1, x2b=0-255, y1=0-239
Gast #5527995
Lesenswert?

Das sind die Fehler die angeben wurden
Severity  Code  Description  Project  File  Line  Source
Error    stray '\204' in program  ATB Spiel Pong Prg1  D:\AAA 
Technik\Programme AVR Studio\ATB Spiel Pong Prg1\ATB Spiel Pong 
Prg1\ATB_Spiel_Pong_Prg1.c  234  Build
Error    expected expression before '%' token  ATB Spiel Pong Prg1 
D:\AAA Technik\Programme AVR Studio\ATB Spiel Pong Prg1\ATB Spiel Pong 
Prg1\ATB_Spiel_Pong_Prg1.c  234  Build
Error    stray '\223' in program  ATB Spiel Pong Prg1  D:\AAA 
Technik\Programme AVR Studio\ATB Spiel Pong Prg1\ATB Spiel Pong 
Prg1\ATB_Spiel_Pong_Prg1.c  234  Build
Error    recipe for target 'ATB_Spiel_Pong_Prg1.o' failed  ATB Spiel 
Pong Prg1  D:\AAA Technik\Programme AVR Studio\ATB Spiel Pong Prg1\ATB 
Spiel Pong Prg1\Debug\Makefile  91  Build
Gast #5528033
Lesenswert?

Konnte das Problem lösen. In einem anderen Teil des Programmes verwende 
ich ebenfalls Buffer zur Anzeige einer Prüfsumme beim Auslesen eines 
Rückgabe Wertes auf einem zweiten Display. Hatte den Wert zwar gelöscht 
aber irgendwie hat er sich eingemogelt. Es geht jetzt.
Das volle Programm kann ich hier kaum zeigen da es aus ca 1000 Zeilen 
besteht und mehrere Bibliotheken hat. Es dient zur Anzeige auf einem EA 
TFT 3,2 Zoll Display mit einer übertragung über den I2C Bus
Danke für deine Hilfe

mark

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