ich verwende den avrgcc compiler und suche eine funktion, die einen integer, float oder double wert in einen ascii-string umwandelt, da ich einen messwert auf einem Char-lcd display ausgeben möchte. gibt es beim avrgcc eine fertige funktion die ich nutzen kann oder hat jemand von euch schonmal jemand soetwas programmiert? danke im voraus christoph
Anmerkung: zu finden sind die in der <stdlib.h> RTFM finde ich hier unberechtigt, wo soll das denn stehen, ich habe die Funktionen auch nur durch Zufall im Programm eines anderen gefunden. Alex
RTFM als ,,Absender'' finde ich auch unsinnig -- es hat keinen Sinn, jemanden auf TFM hinzweisen und dann zu feige zu sein, seinen Namen zu nennen. Anyway, all das steht in der avr-libc Doku, wo sonst? Wer WinAVR hat, hat diese Doku auf der Platte.
funzt nicht so ganz: avr-gcc -g -Wall -Os -mmcu=at90s8515 -c -o main.o main.c main.c: In function `main': main.c:38: warning: `string_zahl' might be used uninitialized in this function avr-gcc -g -Wall -Os -mmcu=at90s8515 -Wl,-Map,main.map -o main.elf main.o main.o: In function `main': D:\Eigene Dateien\microkontroller\c-programme\apo1_gerätesoftware/main.c:47: undefined reference to `dtostre' make: *** [main.elf] Error 1 ich habe irgendwo gelesen, dass ich noch ne datei mitlinken müsste oder sowas, wisst ihr weiter? und vor allem was muss ich in meinem makefile ändern? ist der quelltext denn richtig? double zahl; char * string_zahl; zahl = 3.4524; dtostre(zahl, string_zahl, 2, 0); danke christoph
also RTFM ist meiner meinung nach gerechtfertigt. das sind alles standard libc funktionen. RTFM deshalb ---> http://ftp.gnu.org/savannah/files/avr-libc/doc/
@den Herrn von Dumrath & Fassnacht: kein Kommentar @Christoph: Nimm -lm mit in die Linkeroptionen rein. Dummerweise ist dtostre() in der math-Bibliothek drin. Historische Gründe...
Hallo, also in C verwende ich da immer sprintf, weil ich es da auch so formatieren kann wie ich will: int test = 38762; char buffer[20]; //oder so viel man braucht sprintf(buffer,"%09,1d",test); /*Ausgabe auf 9 Stellen, 7 Vorkomma, 1 Nachkomma (bei int eigentlich Blödsinn), mit führenden Nullen mfg florian warum heisst die programmiersprache C eigentlich C? Vielleicht weil der Vorgänger B hieß!
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.