- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 8 von 8

Thema: Zahl aus Variable auf Display anzeigen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24

    Zahl aus Variable auf Display anzeigen

    Anzeige

    Powerstation Test
    Hallo,

    ich benutze die lcdlibrary von Fleury und habe ein kleines Problem. Ich möchte gern eine Zahl aus einer Variable ausgeben (habe LCD Chip KS0073) aber bekomme das irgendwie nicht hin.

    Gibt es eine bestimmte Anweisung wie ich das machen kann?

    Danke.

    Grüße

    Robert

  2. #2
    Benutzer Stammmitglied Avatar von KR-500
    Registriert seit
    26.12.2007
    Alter
    29
    Beiträge
    91
    Hi,

    habe das hier im Mikrokontrollernet gefunden http://www.mikrocontroller.net/topic/38923
    Ich hoffe ich konnte helfen.

    KR-500

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24
    Danke für die Antwort. Das Display läuft perfekt und ich kann auch allen beliebigen Text ausgeben, wenn ich ihn vorher in den source code reinschreibe. Nur möchte ich zusätzlich Zahlen aus einer Variable ausgeben und das funktioniert irgendwie nicht. Das Text ausgeben funktioniert ohne Probleme.

  4. #4
    Benutzer Stammmitglied Avatar von KR-500
    Registriert seit
    26.12.2007
    Alter
    29
    Beiträge
    91
    Hi,

    du möchtest also eine Zahl die in einer Variable steht ausgeben, dafür musst du sie zu vor in einen String umwandeln das kann z.B. so gehen:

    Code:
    #include <stdlib.h>
    #include <stdio.h> // vielleicht auch <std/io.h> weiß leider gerade nicht genau
    
    ...
    
    int main (void){
      int i = 145; // Die zahl die Ausgegeben werden soll
      char s[11]; // Hilfsvariable(n)
    
      itoa(i, s, 10);
    
      lcd_string(s);
    
      return 0;
    }

    Ok ich habe da jetzt gerade mal so ein bisschen Code hingeschrieben, ganz am Anfang musst du noch die Bibliotheken einfügen mit #include ... Ich weiß leider gerade nicht welche das ist deswegen kannst du einfach beide einbinden. Dann hast du deinen Integer i, den du ausgeben willst. Um ihn auszugeben musst du ihn in einen String umformen, dies geschieht mit hilfe der Funktion itoa(,,); http://www.cplusplus.com/reference/c.../cstdlib/itoa/ Dort wird die Funktion noch mal genauer erklärt.

    Zum Schluss kannst du den String einfach mit deiner enstprechenen Funktion fürs Display ausgeben. Ich hoffe ich habe deine Frage jetzt richtig verstanden^^

    Viele Grüße
    KR-500

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24
    Danke für die Hilfe,

    ich habe umgewandelt in einen string, aber jetzt bekomme ich, wenn ich es genau so mache wie Du geschrieben hast ganz viele Klammern auf dem Bildschirm, anstatt die Zahlen. Wo könnte da noch der Fehler liegen? (ich benutze lcd_puts_p() zur Ausgabe.

  6. #6
    Benutzer Stammmitglied Avatar von KR-500
    Registriert seit
    26.12.2007
    Alter
    29
    Beiträge
    91
    Hi,

    das kling sehr seltsam... Also ich hab ehrlich gesagt noch nie mit diesem Display Controller gearbeitet und kenne auch die LCD-lib von Peter Fleury nicht, deswegen kann ich leider nicht so viel dazu sagen
    Also indem String s müssten jetzt dem beispiel von oben nach volgendes drin stehen wenn itoa richtig funktioniert, s[0] = '1', s[1] = '4', s[2] = '5', s[3] = '\0'. Letzteres ist der sogenannte String terminator, dieser signalisert das der String hier zu Ende ist, außderdem ist '\0' nichts anderes als dezimal null. Du könntest jetzt mal ausprobieren mit der Funktion lcd_put_char oder wie sie auch immer heißen mag einfach jeden einzelnen character ausgeben zu lassen:

    Code:
    lcd_put_char(s[0]); // sollte demnach dann die 1 ausgeben
    lcd_put_char('1'); //sollte ebenfalls eine eins ausgeben
    So könntest du testen ob es an der String-Ausgabe-Funktion liegt, bzw wenn lcd_put_char('1'); nicht klappt, dann weißt du, dass hier der Fehler liegt. (Ich weis nicht ob dus weißt aber '1' steht für den Character im ascii code)

    Viele Grüße
    KR-500

  7. #7
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    ich benutze lcd_puts_p() zur Ausgabe.
    Und warum das, wo doch der auszugebende String hier ganz offensichtlich nicht im Flash liegt?
    MfG
    Stefan

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24
    Sehr gute Frage sternst. Ich habe es zu lcd_puts() geändert und jetzt funktioniert es wie gewünscht.

    Vielen Dank Euch allen!!

Ähnliche Themen

  1. Diagramm auf Grafik display anzeigen. Wie Werte speichern?
    Von mirco99 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 29.10.2008, 08:41
  2. Zahlen auf LCD Display anzeigen
    Von RoBo-CoP im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 07.01.2007, 20:20
  3. Antworten: 20
    Letzter Beitrag: 08.12.2006, 16:01
  4. LM75 auslesen und auf Display(EA7123) anzeigen
    Von SpeedJunkie im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 05.12.2006, 18:42
  5. Text auf lcd display und im terminal anzeigen
    Von NikoMitDaMacht im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 1
    Letzter Beitrag: 07.10.2006, 21:33

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress