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!
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?
Hallo df311, ist Standard-printf von Codevision für mega64. '\r' ist natürlich sehr gut, aber #define fand ich umständlicher ;-)
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.
zum schon gesagten CR :-) : hast du unter configure compiler (s)printf-features float eingestellt?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.