Forum: Mikrocontroller und Digitale Elektronik Brauche Hilfe beim Umwandeln von Zahl nach String


von Hilfesuchender (Gast)


Lesenswert?

Zur Umwandlung von uint32_t zu nem char bin ich auf folgenden Code im 
Internet gestossen:
1
uint32_t Messwert = 1000;
2
char Buffer[sizeof(uint32_t)*8+1];
3
uart_puts ("   Messwert:   ");
4
ultoa (Messwert, Buffer, 11)
5
uart_puts (Buffer);

Leider Empfange ich keine dezimalen Zahlen beim Senden des Zeichens, 
sondern Hexadecimalzeichen. Dass finde ich blöd. Was ist die Ursache des 
Fehlers? Kann mir da vlt. jemand von Euch helfen?

von Max B. (Gast)


Lesenswert?

Hilfesuchender schrieb:
> ultoa (Messwert, Buffer, 11)

probier mal:

ultoa (..., ..., 10). Du willst doch Decimal (10), Hexadecimal wäre 
übrigens 16.

von Andreas W. (geier99)


Lesenswert?

... im Terminal die Anzeige auf ASCII umstellen.

von Hilfesuchender (Gast)


Lesenswert?

danke, dass klappt.

wenn ich schreibe:
uart_puts ("\m   Messwert:   ");

Dann macht PuTTY bei \n keinen richtigen Zeilenumbruch, sondern es wird 
alles kreuz - und quer auf der Anzeige hinundhergeschmissen.

Habe nun bei PuTTY unter Category-Window-Translation VSCII eingestellt 
(ASCII gab es nicht), aber es macht eben keinen richtigen Zeilenumbruch 
und das ist blöd

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Hilfesuchender schrieb:
> wenn ich schreibe:
> uart_puts ("\m   Messwert:   ");
>
> Dann macht PuTTY bei \n keinen richtigen Zeilenumbruch,

was denn nun, \m oder \n ???

von Hilfesuchender (Gast)


Lesenswert?

Wegstaben Verbuchsler schrieb:
> was denn nun, \m oder \n ???

\n

hab die kombination ausgeprobiert

\r\n  - dass klappt seldsamerweise.

von Bernie (Gast)


Lesenswert?

Klar:
\n heißt neue Zeile,
\r heißt Zeilenanfang.

Ohne \r schreibt er in der neuen Zeile in der
Spalte weiter, wo er vorher war...

Nur die UNIXer wollen es nicht kapieren...

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
Noch kein Account? Hier anmelden.