Forum: Mikrocontroller und Digitale Elektronik ARM sam3n4c float mit sprintf() ausgeben


von D. R. (sam3)


Lesenswert?

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!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.