ARM sam3n4c float mit sprintf() ausgeben

OP #2796024
Hallo,
ich habe ein Problem mit dem sam3n4c Microcontroller. Zurzeit verwende 
ich das Atmel SAM3N-EK. Ich will den aktuellen Wert einer float-Variable 
mithilfe von sprintf() über den Bildschirm ausgeben. Mein Code sieht 
folgendermaßen aus:

float a =3.145;
char uc_c[100];

sprintf(uc_c,"%f",a);

Anschließend noch die Bildschirmausgabefunktionen.

Die Variable a soll sich im Verlauf des Programms ändern, hab Ihr hier 
nur zu Testzwecken einen festen Wert zugewiesen. Leider wird nur ein f 
auf dem Bildschirm ausgegeben.

Solange ich dies mit einer Integervariable versuche funktioniert der 
Code.

Ich siztze schon den ganzen Tag daran und komme nicht weiter, Google 
liefert auch keine aussagekräftigen Ergebnisse.
Bei Avr war dieses Problem ja einfach durch einbinden der libpritf_flt.a 
zu lösen, doch hier funktioniert dies nicht, da diese nicht existiert, 
und die printf_flt-Funktion anscheinend schon in der Standardlib 
implementiert ist.
Ich habe folgendes im Makefile gefunden, aber auch durch auskommentieren 
ändert sich nichts:
# To reduce application size use only integer printf function.
cflags-gnu-y += -Dprintf=iprintf

Was mache ich falsch, oder welche Files muss ich zusätzlich includen 
oder verändern?

Vielen Dank!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.