PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : float über usart ausgeben



oderlachs
04.07.2013, 09:54
Ich weiss ich habe zur zeit die Anfragen mit Löffeln gefressen..aber ich suche ne Quelle zum Nachlesen wie ich Floatwerte über den seriellen Ausgang des µC schicken kann.

Bislang bin ich an allen beispielen gestrauchelt.

Gruss Gerhard

markusj
04.07.2013, 10:14
Sieh dir Mal snprintf an. Das ist zwar tendenziell eher Suboptimal weil langsam/aufwändig, aber wenn du sowieso mit Floats arbeitest ...

mfG
Markus

Anmerkung: Ich gehe davon aus, dass du den Float in Textform haben möchtest.

MagicWSmoke
04.07.2013, 10:16
Das hier (http://www.rn-wissen.de/index.php/C-Tutorial#float.2C_double_.28Gleitkommazahlen.29) gefällt Dir nicht?
Statt %d für Integer musst halt das Formatierungszeichen %f für Floats nehmen.

float x = 2.5;
printf("x = %f\n", x);
Oder hier (http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe), unter Umwandlungszeichen.

shedepe
04.07.2013, 16:29
In den aktuellen Versionen des avr-gcc sollte es auch eine

dtostrf

Funktion geben.

Siehe hier:
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#ga060c998e77fb5fc0d3168b3c e8771d42

oderlachs
04.07.2013, 17:35
Die printf geht bei mir nur nicht über den Usart, also als serielle Ausgabe, wie ich sie brauche. Habe zwar keinen Fehler beim Compilieren aber keine Ausgabe..komisch ??

MagicWSmoke
04.07.2013, 18:06
Du musst stdout entsprechend umleiten, kuckst Du: Die Nutzung von sprintf und printf (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Die_Nutzung_von_sprintf_und_printf)
Initialisiert muss das UART natürlich auch sein.

oderlachs
04.07.2013, 20:15
Hallo Magic !
ja ich habe zur Zeit viel um die Ohren, aber doch habe ich mich tiefer mit der Materie befasst als wie sonst. Das ist ein zeitproblem beri mir, trotz meines Rentnerdaseins...
Den Link, d,h, das Dokument habe ich mir kopiert, konnte aber die float Sache Dank Studiums des Tutut Usart auf Microcontroller.net mit meiner puts funktion(schreibe string) jetzt lösen, habe auch begriffen wie das geht und das ist ja wichtig, dann werde ich das mit printf,sprintf auch noch kapieren.

Danke Euch !!!

Gerhard