mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kommazahlen mit printf double


Autor: Checker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich will mit printf eine double Zahl mit Nachkommastellen ausgeben.
über usart
Wie funktioniert das???

Bei mir kommt nur ein Fragezeichen anstelle des Wertes!

MfG
Checker

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja - dann poste doch mal Quelltext, der zeigt, wie Du printf()
aufrufst. Dann können wir Dir sagen, was Du möglicherweise falsch
machst ...

Autor: Checker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
double x;
x= 1.05;

printf("x = %f", x);

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Compiler?

Autor: Checker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WINAVR GNU

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann könnte es daran liegen, daß Du eine mächtigere printf-lib
benötigst, schau mal in Mfile unter "Makefile -> printf() options".

Autor: Checker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
# Additional libraries
#
# Minimalistic printf version
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min
#
# Floating point printf version (requires -lm below)
#LDFLAGS +=  -Wl,-u,vfprintf -lprintf_flt
#
# -lm = math library
LDFLAGS += -lm


dies steht im Makefile

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, und es ist alles auskommentiert.
Ich verweise ja nicht umsonst auf MFile!

Entweder benutzt Du MFile, oder Du musst eine dieser printf-Zeilen
entkommentieren (lustiges Wort).
Nutzt Du kein MFile, dann wirst Du Dich zwangsläufig mit Makefiles
beschäftigen müssen...

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn für den Compiler double und float unterschiedliche Datentypen sind,
sollte auch der Formatstring von printf() entsprechend angepasst werden
- statt %f sollte dann %lf geschrieben werden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.