Forum: Mikrocontroller und Digitale Elektronik printf: Krieg' fast nichts gebacken


von Anfänger (Gast)


Lesenswert?

Hallo zusammen,

mein printf funktioniert nur halbwegs.

Diese floatzahl wird korrekt übertragen:

#define CR 0x0D
float Fx;    // Messfrequenz

printf("%10.6f%c",Fx,CR);

Nun möchte ich die Dimension "Hz " vornan stellen, ich schreibe also:

printf("Hz %10.6f%c",Fx,CR);


Aber Pusteblume, das Hz  wird nicht angezeigt. Was mache ich da falsch?


Danke für eure Hilfe!

von df311 (Gast)


Lesenswert?

verwendest du ein "standard printf" oder ein selbstgestricktes?
und warum nimmst du nicht einfach das steuerzeichen '\r' am ende des 
strings anstelle des definierten CR?

von Anfänger (Gast)


Lesenswert?

Hallo df311,

ist Standard-printf von Codevision für mega64.

'\r' ist natürlich sehr gut, aber #define fand ich umständlicher ;-)

von yalu (Gast)


Lesenswert?

Also wenn das "Hz " nicht, aber die nachfolgende Zahl angezeigt wird,
würde ich fast darauf tippen, dass das Programm, das du laufen lässt,
nicht dem aktuellen Quellcode entspricht. Vielleicht ist beim
Kompilieren, Linken oder Programmieren des Chips ein Fehler passiert,
so dass auf dem Controller immer noch die alte Version ohne "Hz "
läuft.

von crazy horse (Gast)


Lesenswert?

zum schon gesagten CR :-) :

hast du unter configure compiler (s)printf-features float eingestellt?

von Anfänger (Gast)


Lesenswert?

Kompilieren, Linken und Programmieren funktioniert, hab ich durch 
auswechseln mit  >printf("Hz \r");<  getestet.

(s)printf-features float ist auch eingestellt.


So ein Mist! Meine armen Kollegen, die müssens wieder ausbaden...

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.