www.mikrocontroller.net

Forum: Compiler & IDEs ascii nach dezimal wandeln ohne printf mit einem Atmega


Autor: Marco Weinrich (kniffeldi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich möchte Ascii-Zeichen über Uart empfangen und nach dezimal wandeln.
Dabei sollen alle Zeichen aus dem Ascii-Zeichensatz gewandelt werden
können.
Also zB. $ => 36
         ? => 63
         Z => 90   usw. (0 - 255, also komplette Tabelle)

Printf möchte ich nicht verwenden, atoi wandelt nur Zahlen.
Weiß jemand ich es anstellen kann?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
????
Was gibt es denn da zu wandeln? Das SIND doch die ASCII Codes.
char a;

a = 'A';
a = 65;   // Ist identisch

a = '?';
a = 63;   // ist identisch

MFG
Falk

Autor: Marco Weinrich (kniffeldi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit den Stringkonstanten ist mir bekannt, aber wie mache ich aus
einer Variablen eine Stringkonstante?

MfG
Marco

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Marco Weinrich (kniffeldi)

>Das mit den Stringkonstanten ist mir bekannt,

Wirklich?

>aber wie mache ich aus einer Variablen eine Stringkonstante?

Gar nicht, den Konstanten sind nun mal KONSTANT.

Autor: Klugscheisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ganz einfach.
Du hast ja schon eine kleine ASCII-Tabelle oben angefangen. Aber was 
heisst denn das nun? (Denn da sehe ich Dein Problem).

>Z => 90

Das kann man doch so interpretieren : Die Zahl 90 ist dem Zeichen 'Z' 
zugeordnet. Eine ASCII-Tabelle ist also eine Vorschrift wie eine Zahl 
zu interpretieren ist. D.h. Du musst hier nichts umwandeln . Du 
musst hier nur was anders interpretieren. OK?

printf ist z.b. so ein hübsches Mittel um das zu erledigen.

short int x = 90;

printf ("%d", x) ergibt den String "90".
printf ("%x", x) ergibt den Strinf "5A".
printf ("%c", x) ergibt das Zeichen 'Z'.

uswusf.

Autor: Klugscheisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah. Ich sehe schon, da kommt als nächstes die Antwort:

"Aber printf möchte ich nicht verwenden!".

Sicherlich. Das sollte ja auch nur das Prinzip zeigen.

D.h. Du könntest vielleicht darauf kommen, das Deine Frage sich auf die 
Umwandlung von Zahlen in ASCII-Zeichen insofern zu tun hat, das die 
Darstellung der Zahl erzeugt werden soll. Keine Interpretation.

D.h. Du musst von der Zahl 0x5A auf die ASCII-Zeichen '5' und 'A' 
kommen.
Das ist Dir aber wahrscheinlich schon klar, oder?

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du musst hier nur was anders interpretieren.

Evtl. geht es ihm um die Wandlung der internen Darstellung im uC in die 
für Menschen lesbare Form (Ziffern usw.) bzw. umgekehrt. Es gibt hier im 
Forum fast keine Fragen mehr, die man ohne Glaskugel verstehen kann.
Und bei den Antworten ist es auch nicht viel besser, wie man an dieser 
sieht.

Autor: Klugscheisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist denn das für ein Satz?
>D.h. Du könntest vielleicht darauf kommen, das Deine Frage sich auf die
>Umwandlung von Zahlen in ASCII-Zeichen insofern zu tun hat, das die
>Darstellung der Zahl erzeugt werden soll. Keine Interpretation.

Das sollte natürlich heissen:

D.h. Du könntest vielleicht darauf kommen, das Deine Frage sich auf die
Umwandlung von Zahlen in ASCII-Zeichen bezieht und mit den ASCII-Zeichen 
insofern zu tun hat, das die Darstellung der Zahl erzeugt werden soll. 
Keine Interpretation.

Autor: Klugscheisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Stefan Salewski

>Und bei den Antworten ist es auch nicht viel besser, wie man an dieser sieht.

Das geschieht durchaus mit einer gewissen Absicht. Denn mir liegt eher 
daran die Fragenden zu selbstständigen Erfolgen kommen zu lassen als 
ihnen alles vorzukauen.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das geschieht durchaus mit einer gewissen Absicht. Denn mir liegt eher
>daran die Fragenden zu selbstständigen Erfolgen kommen zu lassen als
>ihnen alles vorzukauen.

Nein, Dich hatte ich wirklich nicht gemeint.

Das "wie man an dieser sieht." war (ironisch) auf meine eigene Antwort 
bezogen.

Aber es gibt hier schon viele unverständliche und oft auch falsche 
Antworten,

Autor: Marco Weinrich (kniffeldi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für Eure Antworten.
Ich hab's gerafft brauch nicht's zu wandeln, sondern es kommt drauf an 
wie ich das Ganze "darstelle"

Gruß Marco

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.