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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.