Forum: PC-Programmierung Code Composer Studio 5 und printf


von Jan L. (jan_l)


Lesenswert?

Hey,

also ich habe folgendes Problem.
Ich benutze immoment Code Composer Studio (keine Ahnung ob das relevant 
ist) um ein Board zu programmieren.

Jetzt will ich gerne, zur besseren Fehlersuche und zum nachvollziehen, 
ein paar Ausgaben einbauen.

Erst ging es überhaupt nicht dazu hab ich auch noch eine Lösung 
gefunden, habe also die heapsize auf 0x400 gesetzt danach haben einfach 
Text ausgaben wie printf
1
("Hallo Welt!")
wunderbar funktioniert.

wenn ich allerdings zb ein float
1
h = 1.0
habe und dann einfach
1
printf("h = %f", h);
mache wird keine 1.0 ausgegeben sondern einfach
1
"h ="

Woran liegt das denn? und vor allem wie kann ich das Problem beheben 
oder nach was muss ich speziell suchen um eine Antwort darauf zu finden.

ps.: es kommen keine Compiler- oder Runtimeerrors
pps.: habe jetzt auch die stackzise von 320 auf 800 erhöhte, bringt 
leider auch keine Änderung

ppps.: wenn ich zb.: printf("Float number: %3.2f\n", 3.14159); sage gibt 
er mir "Float number: .2f" aus... was meiner Meinung nach auch ganz und 
garnicht stimmt...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das übliche Thema: printf-Library.

Da printf eine recht umfangreiche Funktion ist, werden mit vielen 
Compilern mehrere Varianten davon mitgeliefert, die sich durch den 
Funktionsumfang und also auch die resultierende Codegröße unterscheiden.

In den Compiler- (genauer: Linker-) Einstellungen kann die zu 
verwendende printf-Library ausgewählt werden, die mit 
Floatingpoint-Unterstützung ist halt größer als die von Dir bislang 
benutzte abgespeckte Variante.

von Jan L. (jan_l)


Lesenswert?

So problem gelöst.

Da ich printf bisjetzt einfach immer nur benutzt hab wusste ich auch 
nicht das es da beim Compilieren auch noch Übergaben gibt wie z.B.
1
--printf_support

das stand auf minimal und hat somit keine Floatwerte unterstüzt ...
habs jetzt auf full und siehe da es funktioniert :P

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.