RS 232-Schnittstelle+Spannungsverlauf

Gast #1028581
Hallo,

ich habe hier eine Aufgabe mit der ich nicht ganz klar komme. Vielleicht 
kann mir hier jemand helfen.  Eine RS 232-Schnittstelle hat 
Übertragungsrate von 9600 Baud, gemessen wurden der Spannungsverlauf 
(siehe Bild) daraus soll der HEX  Wert ermittelt und das ASCII-Zeichen 
dargestellt werden. Bekannt ist ebenfalls 1 Startbit, 7 Datenbits, 1 
Paritätsbit - gerade, 1 Stopbit (niederwertigste Datenbit wurde dabei 
zuerst übertragen). Ich lese hier 0110000110 heraus. Start, Stopp und 
Paritätsbit können doch zur Ermittlung vernachlässigt werden. So bleiben 
noch 1000 0110 da das niederwertigste Bit zuerst übertragen wurde. So 
erhalte ich Hex 86 und als ASCII-Zeichen †. Ist das richtig oder liege 
ich hier komplett falsch?

Hasso
Angehängte Dateien:
Gast #1028585
>mit der ich nicht ganz klar komme.
Was ist denn Dein Problem?

Am besten Du zeichnest in das Bild mal ein, wo und wie lang Du jeweils 
das Start-, die Daten-, das Paritäts- und das Stopbit siehst?
Dann kann man da auch bestätigend oder korrigierend Rat geben.
#1028587
Also bei einer Übertragung mit 9600Baud dauert ein Bit 104µs...

Dadurch kommt dann bei mir in meinen verschlafenen Augen raus:

110110000101

würde dann im Klartext heissen Startbit die erste 0
Dann die Daten mit: 1100001
Dann die Parität 0 (anzahl der einsen ungerade)
und noch das Stopbit...

1100001

das wäre ein b (hex62)

(meine ASCII Tabelle zeigt es schon auf deine Aufgabe passend an... )

Wenn das falsch is ... war ich zu müde oO .. sry
Gast #1028591
Die Position und die Länge der Bits sind richtig.

>Datenbits:    76543210:
            0b00111100 => 0x3C => 60dez

Ich meine Du musst die Bits erstmal alle negieren. Im ersten Post schien 
es mir, als wenn Du das auch getan hast. Im zweiten aber nicht. Das 
siehst Du daran, das der Ruhepegel immmer High ist und das Startbit 
immer Low.

Danach komme ich auf

                6543210
                1000011

Bis auf das negieren stimmt es also soweit.

Ich stimme Dir zu das die Parität hier entweder nicht stimmt oder eben 
als ungerade eingestellt ist.
Gast #1028611
Das mit der Parität habe ich mich auch schon gefragt.
Bei  6543210
     1000011
kann die Parität nicht 1 sein. Oder?

Bei 1000011 komme ich jetzt auch auf Hex 43 und ASC 2=> C.

Ich habe beim ersten 1000 0110 die letzte Null mit angefügt was 
natürlich dazu führt das ich eine HEx 86 erhalte. Das war also der 
Fehler.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.