mikrocontroller.net

Forum: PC-Programmierung Mplab Printf integer zu Hyperterminal


Autor: Herbert Kn (herbert90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Hätten eine Frage bezüglich dem Printf Befehl bei Mplab(C).

Wir programmieren mit einem PIC18f4550 und wollen eine int16 zahl über 
die serielle Schnittstelle übertragen und im Programm Hyperterminal 
empfangen bzw.darstellen.

Die wesentlichen Komponenten unseres Programms sind wie folgt:

int16 inbyte;

und in der main:

printf("byte="+inbyte+"     ");

--------------
Habe mich schon in der CCS Help erkundigt was ich genau mit % hinzufügen 
muss. Dort steht geschrieben das %u für unsigned Integer hinzugefügt 
werden muss. Jedoch bekomme ich im Hyperterminal nur kryptische Zeichen 
und nicht das inbyte was ich darstellen will.

Woran kann das liegen ??

danke im voraus

: Wiederhergestellt durch Admin
Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herbert Kn schrieb:

> Woran kann das liegen ??

C-Buch lesen

  int16 inbyte;
  printf( "byte= %d", (int)inbyte );

Autor: Herbert Kn (herbert90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

danke für die schnelle Hilfe!

Wir haben das mittlerweile versucht , erhalten jedoch dezimale werte im 
bereich von 20-300 ! Anzeigen soll es jedoch zahlen wie inbyte = 
1111101111111111 ;

Ist es möglich das Hyperterminal sozusagen nicht kompatibel mit Mplab 
ist ??

Normale Printf Befehle wie Printf("Hallo"); können wir jedoch ohne 
weiteres senden !

mfg

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herbert Kn schrieb:
> hallo
>
> danke für die schnelle Hilfe!
>
> Wir haben das mittlerweile versucht , erhalten jedoch dezimale werte im
> bereich von 20-300 !

Ja logisch.
inbyte enthält eine Zahl, und mit %d wird diese Zahl in menschenlesbarer 
Form als Dezimalzahl aufbereitet

> Anzeigen soll es jedoch zahlen wie inbyte =
> 1111101111111111 ;

Dann musst du dir selbst eine Ausgabefunktion machen, die dir die Zahl 
binär aufdröselt oder du verwendest zb itoa. Dem kann man die 
Zahlenbasis vorgeben.

> Ist es möglich das Hyperterminal sozusagen nicht kompatibel mit Mplab
> ist ??

Quatsch.
Text ist Text.
Du gibst Text aus. Das die 'Buchstaben' des Textes aus '1' '2' '3' 
bestehen und du daher als schlauer Benutzer vor dem Schirm 
hundert_drei_und_zwanzig liest, interessiert weder den C-Compiler noch 
Hyperterminal. Der eine schickt Text, der andere stellt den Text dar. 
Welcher Text geschickt wird, legst du als Programmierer fest. Lässt du 
als Programmierer den falschen Text schicken, darfst du dich nicht 
wundern, wenn der angezeigte Text nicht dem entspricht was du dir 
erhoffst.
Programmierung funktioniert immer noch nach dem Muster
  'Do what I tell you to do'
und nicht nach
  ' Do what I mean that you should do but am not able to express 
correctly, therefore please correct my mistakes and insufficient 
knowledge on your own'

Autor: Loonix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@kbuchegg
>Programmierung funktioniert immer noch nach dem Muster
>  'Do what I tell you to do'
>und nicht nach
>  ' Do what I mean that you should do but am not able to express
>correctly, therefore please correct my mistakes and insufficient
>knowledge on your own'

Dass das stimmt sieht man schon am komplizierteren Satzbau der 
Beschreibung der falschen Vorgehensweise - der ideale Programmierer ist 
eben faul ;)

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.