mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe mit RS232 Codierung


Autor: Sebastian Sobierajski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

Ich hab hier auf meinen Motorola ein kleines Problem.
Ich hab mir ein zusätzliche serielle Schnittstelle gebaut, über die ich
Daten an ein PC sende. Ich sende zwar zweichen .....aber das
Hyperterminal zeigt nicht die gewünschten Zeichen an.... Ich sende z.B
ein unsigned char 0 und empfange ein komisches Zeichen...(a mit Punkt
oben drauf)
Wenn ich ein 155 dann empfange ich ein LEERZEICHEN.....
Kann es sein das ich mich nicht an der ASCII Tabelle orientieren
darf....wenn ich sage sende 0x41 bzw. 61 Dezimal dann zeig mir
Hyperterminal ASCII 254 = þ an .....
Ich benutze ein Motorola 9s12ne64
Die RS232 wird mit 9600 Baud betrieben.
- 8 Datenbits,
- 1 Start- und Stopbit
- keine Parity Prüfung

Gruss
Sebastian

Autor: Jens123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich gehe mal davon aus, dass du sender, empaaenger gleich eingestellt
hast?

>>Die RS232 wird mit 9600 Baud betrieben.
>>- 8 Datenbits,
>>- 1 Start- und Stopbit
>>- keine Parity Prüfung

Mit dem Hyperterminal stand ich auch auf kriegsfuss hab dann einen
anderen genommen, wo man direkt alles einstellen kann

Nennt sich Terminal v 1.9b von Br@y++

ich hab damit bisher nur gute erfahrungen gemacht

aber Codieren musste ich bisher nichts.

kommen die zeichen denn immer gleich an

sprich char 0 ist immer ein komisches Zeichen...(a mit Punkt
oben drauf)??

Gruss Jens

Autor: Sebastian Sobierajski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jens,

Ich hab es ja mit der 65 versucht.
Einmal direkt 65 dann mal als hex 0x41 und auch mal als 'A' es kommt
aber nicht das gewünschte Zeichen auf dem Rechner an.

Ich versuche jetzt mal das Progi
Nochmal Danke.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hier geschilderte Problem hat nichts mit einer Zeichencodierung zu
tun - auch ein anderes Terminalprogramm löst es nicht.

Hyperterminal ist unbestritten ziemlicher Mist, aber Zeichen auf einer
seriellen Schnittstelle empfangen und korrekt anzeigen, das kann es.

Entweder ist die Baudrate ziemlich falsch (ich weiß nicht, was ein
Motorola 9s12ne64 sein mag und wie es den Baudratentakt erzeugt), oder
aber die Wortlänge ist an einem der beiden Enden (PC oder 9s12ne64)
sehr falsch konfiguriert.
(5 Bit statt 8 Bit).

Bei vielen µCs wird die Baudrate der seriellen Schnittstelle durch
Teilung des Prozessortakts erzeugt - das gibt, je nach Taktfrequenz,
mehr oder weniger ausgeprägte Abweichungen.
Daher empfiehlt es sich, den Controller mit einem baudratengerechten
Takt zu betreiben.

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.