Hilfe mit RS232 Codierung

Gast #131449
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
Gast #131450
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
Gast #131451
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.
Gast #131452
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.