Hallo Liebes Forum, ich habe angefangen programmieren zu lernen mit einem kleinen myavr board light jedoch habe ich folgendes Problem. Ich verstehe die funktion utoa() nicht besser gesagt die parameter die ich ihr übergeben muss. Ich erhoffe mir von dieser funktion aus einem uint16_t es in ASCII zu konvertieren und es anschließend per UART auszugeben. Daten vom datentyp char lassen sich leicht per UART übertragen jedoch verstehe ich die doku von utoa() garnicht. Ich hoffe ihr könnt mir helfen und erklären oder ein beispiel geben wie ich in utoa benutze: laut doku: utoa( unsignedint __val,char *__s,int __radix) ich verstehe char*__s nicht und int_radix was ich hier eingeben soll. Ich hoffe ihr könnt mir bei meinem Problem helfen.
was verstehst du an "ich verstehe char*__s nicht" nicht? Ein Pointer auf einen Speicherbereich vom Typ char. wo dein String hinsoll, den die Funktion für dich erzeugen soll. Welches C Buch hast du und hast zumindest die ersten 2 Kapitel schon durchgearbeitet? Ohne Grundlagen geht es nicht.
Irgendwo hin soll das Ergebnis ja geschrieben werden. Praktischerweise gibt man einen Pointer für den Zielbereich an, also char*__s . Radix ist das Zahlenformat für die Umwandlung: 2 = binär 8 = oktal 10 =dezimal 16 = hex Meist steht in der Doku aber auch mehr drin. Wenn das die einzige Doku ist, dann hast du irgendetwas falsch gemacht.
M. B. schrieb: > Ich hoffe ihr könnt mir helfen und erklären oder ein beispiel geben wie > ich in utoa benutze: > > laut doku: utoa( unsignedint __val,char *__s,int __radix) > ich verstehe char*__s nicht und int_radix was ich hier eingeben soll. der char ist in Wirklichkeit ein Array und dort schreibt dir utoa den String rein. radix ist ganz einfach die Basis des Zahlensystems, das utoa benutzen soll. Bei dir wird das 10 sein, aber du könntest zb auch 16 angeben um von utoa eine hexadezimale Darstellung zu bekommen oder 2 für eine binäre Darstellung oder jede beliebige Basis, die dir gefällt.
1 | char buffer[20]; |
2 | uint16_t wert = 25; |
3 | |
4 | utoa( wert, buffer, 10 ); // nach Text ... |
5 | uart_string( buffer ); // und Text ausgeben |
Welche Doku benutzt du? In den üblichen Dokus sind die Parameter normal genau erklärt und meistens finden sich auch Beispiele dazu. Wenn deine Doku das nicht hat, dann taugt die nichts.
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.