- LiFePO4 Speicher Test         
Ergebnis 1 bis 3 von 3

Thema: Fließkommawerte auf LCD Display darstellen.

  1. #1
    Gast

    Fließkommawerte auf LCD Display darstellen.

    Anzeige

    Powerstation Test
    Hallo !

    Nachdem ich ich jetzt endlich Texte auf mein LCD Display bekomme habe ich noch ein Problem mit dem Darstellen von Messwerten in Form von Fließkommazahlen.
    Ich habe mir mal eine Testprogramm geschrieben was einen berechnenten Wert (der Float oder double ist) in ein Char-Feld schreibt welches ich auf einem Display darstellen kann.
    Also z.B Floatwert 1.6355 im chat Feld sollen dann die einzelnen Zeichen 1;.;6;3;5;5 stehen.

    **** Hier mal der Quellcode der unter UNIX so läuft...


    #include <stdlib.h>
    #include <stdio.h>

    main()
    {

    int AD_low=163, AD_high=0, AD_wert=0; /* Lower und Higher Byte vom AD Wandler, jeweils 8 Bit */
    float messung=0,ergeb=0;

    char mess_char[9]={"TEST"}; /* Buffer für 10 Zeichen schaffen*/


    AD_high = AD_high<<8; /* Higer Byte um 8 Stellen verschieben */
    AD_wert=AD_low + AD_high; /* Higher und Lower Byte Addieren für Gesamtwert */

    /* Irgend eine Psydoberechnung durchführen */

    sprintf(mess_char,"%f",AD_wert * 0.019531); /* Messwert berechnen und char-Buffer schreiben*/

    messung = AD_wert * 0.019531; /* Messwert nochmal als float speichern*/

    printf("Ausgabe *** AD_low: %i AD_high: %i AD_wert: %i \n",AD_low, AD_high, AD_wert);
    printf("Ausgabe *** Messwert (floatwert) : %f \n", messung);
    printf("Ausgabe *** Messwert (char-Feld) : %s \n",mess_char);

    }


    *****

    Interessant ist nur die Zeile mit

    sprintf(mess_char,"%f",AD_wert * 0.019531);

    mess_char soll der Text sein der auf dem LC-Display dargestellt werden soll. AD_wert ist irgend ein Wert von z.b. von einem AD Wandler

    Leider macht AVR-GCC das nicht,..in dem char feld stzeht nur ein "?" was ich später auf dem LC Display sehe...

    Was mache ich da falsch... welche anderen möglichkeiten gibt es noch ?

    Gruß Daniel

  2. #2
    Gast
    die printf Ausgaben waren nur Testausgaben zum programmieren unter unix... die sind logischerweise nicht im Quellcode vom AVR

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    57
    Beiträge
    247
    Hallo

    Zu deiner Ausgabe eines Float auf deiner LCD Anzeige gibt es hier eine schöne Routine http://www.mikrocontroller.net/forum/read-4-46127.html

    Schau dir mal die outfloat Funktion an. Das putchar ersetzt du dann mit deiner Ausgabefunktion für dein LCD Display.

    MFG
    Dieter

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress