Forum: Mikrocontroller und Digitale Elektronik RS 232-Schnittstelle+Spannungsverlauf


von Hasso (Gast)


Angehängte Dateien:

Lesenswert?

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

von Spinne (Gast)


Lesenswert?

>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.

von Tobias B. (tc-soundnlight)


Lesenswert?

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

von Matthias L. (Gast)


Angehängte Dateien:

Lesenswert?

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

Das würde sich aber mit gerader Parität beißen. Weil es mit Paritätsbit 
eine gerade Anzahl sein müsste.

von Spinne (Gast)


Lesenswert?

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.

von Spinne (Gast)


Lesenswert?

Das ASCII-Zeichen ist demnach ein Plus-Zeichen '+'.

von Spinne (Gast)


Lesenswert?

Mist. Habe garnicht gesehen, das jemand ganz anderes die Bitlängen 
eingezeichnet hat.

von Spinne (Gast)


Lesenswert?

Ist natürlich ein 'C'. Mein Gott ist das früh.

von Matthias L. (Gast)


Lesenswert?

>Ist natürlich ein 'C'. Mein Gott ist das früh.

Es ist schon um acht. Die Forumsuhr geht falsch ;-)

von Hasso (Gast)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

Tolle Leistung: 4 Ingenieure/Elektroniker brauchen 2h49 um ein Byte zu 
"entschlüsseln"....

von Bill (Gast)


Lesenswert?

11:15

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.