http://en.wikipedia.org/wiki/Itoa
Ich habe diese Itoa fkt. benutzt.
Ich habe Probleme mit dem Auslesen von LineData oder OdometrieData - Werten über die IR-Schnittstelle an den Hyperterminal.
Hierbei habe ich bereits ein kleines Programm geschrieben, das Werte misst und sie über SerWrite() an den Hyperterminal sendet. Doch man merkt schnell, dass diese Werte nur als Ascii-code ankommen.
Nach einigem googeln habe ich Funktionen (itoa, sprintf..) aus der <stdlib.h> oder/und <stdio.h> gefunden, die die Werte in Strings wandeln und somit lesbar machen würden, aber ich schaffe es nicht die Libs über #include einzubinden.
Habe <stdlib.h> oder <stdio.h> runtergeladen und in meinen Firts Try Ordner kopiert.
Doch angesichts 281 Fehlermeldungen nach einem "make" hat dies nicht sooo gut funktioniert.^^
Was mache ich falsch? Bin ich auf einem völlig falschem Weg?
Wäre nett, wenn Jemand bock hat, ein solches Prog. zu schreiben.
[/b][/code]
http://en.wikipedia.org/wiki/Itoa
Ich habe diese Itoa fkt. benutzt.
Hallo
So geht's auch, nicht optimal aber verständlich:
Hier werden noch andere Ansätze besprochen:Code:// aus: https://www.roboternetz.de/phpBB2/ze...=328394#328394 void PrintInteger(unsigned int x) { char ergebnis[5] = {'0','0','0','0','0'}; while (x >=10000) { ergebnis[0]++; x -=10000; } while (x >= 1000) { ergebnis[1]++; x -= 1000; } while (x >= 100) { ergebnis[2]++; x -= 100; } while (x >= 10) { ergebnis[3]++; x -= 10; } ergebnis[4] +=x; //x=0; //while(ergebnis[x]=='0') ergebnis[x++]=' '; SerWrite(ergebnis,5); }
https://www.roboternetz.de/phpBB2/viewtopic.php?t=35598
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Danke radbruch,
is nicht ganz der Weg, den ich gedacht hatte.
So kann ich aber schon mal die Werte auslesen.
Du hast vielleicht das Problem, dass der Compiler den Pfad zu den Standard-libs nicht kennt. Wenn du dann nur eine Datei kopierst, hängt diese dann von weiteren Standard-Dateien ab, was die Fehlermeldungen beim Kompilieren verursacht.
Hier nützt es nichts, den Pfad in PATH einzutragen, sondern du musst ihn im makefile hinter einem "-I" (Minus großes i für Include) eintragen. Leider kann ich dir auch nicht die genaue Stelle sagen, wo es hingehört. Versuch es mal bei den Compiler-Flags?
Okay danke, ich werd nochma schauen.
Hab grad nochmal deinen ersten Beitrag gelesen. Du hast dir nur die zwei Headerdateien heruntergeladen - das reicht nicht. Du musst die komplette, unveränderte Verzeichnisstruktur von WinAvr auf der Platte haben. Dann findet der Compiler nicht nur die Header mit den Funktionsdeklarationen, sondern auch die zugehörigen Libs mit dem Code. Der Compiler findet diese dann auch ohne zusätzliche Pfadangaben im makefile.
Ich kann bei mir sprintf, memcpy usw ohne weiters verwenden, ich brauche nur die beiden von dir genannten #include Anweisungen im Source file.
Lesezeichen