Hi, ich möchte über UART integer zahlen als Zeichen ausgeben, die funktion funktioniert zwar schon, allerdings muss ich immer genau angeben wieviele Stellen die integer Zahl hat. Ich bekomme nach "13" immer noch "Zeichenmist" übertragen, da ja eigentlich nur test[0,1] benötigt wird. Ich will die Funktion aber trotzdem variabel haben, was die Stellenanzahl der Integerzahl, die umgewandelt werden soll, betrifft. Maine itoa(): int i; char test[20]; itoa(13,test,10); for(i=0; i<=20;i++){ transmit(test[i]); transmit('\012'); _delay_loop_2(50000); } Vielleicht kann mir jemand schreiben, was nicht so ganz richtig dran ist. Danke
Kauf Dir 'n gutes C-Buch. Ich empfehle nach wie vor gern den Urvater (oder besser: die Urväter): Kernighan/Ritchie (auch K&R genannt), ``The C programming language''. Bitte in Englisch, zumindest die erste deutsche Übersetzung war grauenhaft. Strings in C werden mit '\0' terminiert, Du darfst also nur bis dorthin ausgeben. char *cp; for (cp = test; *cp; cp++) transmit(*cp), transmit('\n'); Ah ja, das Kapitel über Pointer & Arrays wirst Du dann wohl auch noch studieren müssen, um das Beispiel zu verstehen. :-)) Mit itoa() hat das übrigens alles nicht das Geringste zu tun...
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.