Hallo Profis, ich habe folgendes Problem, Ich kann mit Printf kein double anzeigen ich krige nur ?f ! Ich verwende das AVR Studio und WinAvr 20080403 ich habe im Avr Studio unter includs "libc.a" und "libprintf_flt.a"zum Linken hinzugefügt ! Nach suche hier im Forum habe ich einen Beitrag gefunden das es mit Win AVR 20061009 anscheinend fuktioniert und so hab ich das auch ausprobiert leider ohne Erfolg Bitte klärt mich über meine Fehler auf ! Danke im Voraus MFG Pier
Pier S. schrieb: > Hallo Profis, > ich habe folgendes Problem, Ich kann mit Printf kein double anzeigen ich > krige nur ?f ! > Ich verwende das AVR Studio und WinAvr 20080403 ich habe im Avr Studio > unter includs "libc.a" und "libprintf_flt.a"zum Linken hinzugefügt ! Das reicht noch nicht. http://www.mikrocontroller.net/articles/FAQ#Aktivieren_der_Floating_Point_Version_von_sprintf_beim_WinAVR_mit_AVR-Studio
Hallo, ich habe dasselbe Problem bei meinen Projekten mit SAM-Controller (Arduino Due SAM3). Leider ist hier die libprintf_flt.a nicht verfügbar, gibt es dafür eine andere Lösung?
Jürgen M. schrieb: > Leider ist hier die libprintf_flt.a nicht verfügbar, gibt es dafür eine > andere Lösung? Das aktuelle Studio nutzt (AFAIR) newlib-nano. Um float-Unterstützung zu aktivieren, füge folgendes zu den Linker-Flags hinzu: > -u _printf_float Ob damit auch double funktioniert, weiß ich nicht. Aber double sollte man auf einem kleinen MCU sowieso nicht verwenden. Das wäre einfach viel zu langsam.
Danke für den Tip, die newlib-nano hatte ich in den Linkereinstellungen auch schon aktiviert, die von Dir erwähnte _printf_float Lib wird aber vom Linker nicht gefunden und befindet sich auch nicht in meinem System. Muss ich die erst hinzufügen und wenn, woher bekomme ich die? ok, habs nun hinbekommen: Bei den Compilersymbolen stand noch printf=iprintf, dieses Symbol habe ich entfernt. Mit der Linkeroption -u _printf_float werden nun float-Werte korrekt aufgegeben.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.