www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probl. Keil Ausgabe von 8bit Zahlen???


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Hat schon mal wer von euch mit dem Keil-Compiler ein C-Programm für den
8051er geschrieben?

Ich habe ein Problem bei der Ausgabe mit printf über die Serielle.

Zuerst habe ich die Variablen initialisiert.
unsigned char idata z=0x20;

Danach wird die Serielle initialisiert.

Und zum Schluss wird diese Variable über die Serielle ausgegeben.
printf("Hallo: %X",z);

Und wisst ihr was der Bildschirm des PC's anzeigt???
Hallo: 2000


Ich spielte herum und kam dahinter, dass es anscheinend an der 8-Bit
Variable liegt. Wenn ich es so mache funktioniert es:

unsigned int idata z=0x20;

Danach wird die Serielle initialisiert.

printf("Hallo: %X",z);

Hallo: 20


Auch der Simulator hat dasselbe Problem.
Gibt es für die Ausgabe von 8-Bit-Zahlen eine eigene Angbabe für
Printf?
Ich habe auch schon mal einen ATMEGA programmiert. Mit dem dortigen
C-Compiler trat das Problem nicht auf.


Ich bin für jede Antwort dankbar.

Tschüss
Martin

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hat schon mal wer von euch mit dem Keil-Compiler ein C-Programm für
>den 8051er geschrieben?

JA !!!

Das Handbuch sagt: "%bx" für byte, "x" für word und "lx" für
long.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!

Ich habe im Handbuch nachgesehen, doch dieses ist sowas von umständlich
und unübersichtlich, dass es eine Freude ist.

Zugegeben die Frage, ob schon jemand mal einen 8051er programmiert hat
war vielleicht nicht so ganz angebracht. Ich wollte niemanden auf die
Schaukel nehmen.

Aber danke für deinen Tipp.

Tschüss!

Martin

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.