Forum: Mikrocontroller und Digitale Elektronik Verständnis RS232 Senden


von Get2Together (Gast)


Lesenswert?

Sehr geehrte Damen Und Herren,

nach dem Einlesen der sehr informativen Seite www.sprut.de bin ich auf 
eine Problematik gestoßen.
Wenn ich über einen PIC (z.B. 16F876) über die RS232 Schnittstelle und 
einem Max232- Pegelwandler an einem PC Daten schicken möchte. Kann ich 
ja nur 8 Bit Datenbreite versenden. Was rein theoretisch 256 
verschiedene Werte wären.

Wie sende ich Informationen, z.B. beim Drehgeber auslesen. Wo eine 
Umdrehungen 5000 Rasterzählungen sind. Wie übertrage ich dann z.b. + 
20000 bzw. -20000, wenn ich für 4 Umdrehungen die 200000 senden möchte 
um am PC die genaue Aufösunge zu haben!?


Vielen Dank für Ihre Hilfe.

Mit freundlichen Grüßen

Viktor

von Thilo M. (Gast)


Lesenswert?

>Sehr geehrte Damen Und Herren,

Musst nicht so förmlich sein, die meisten hier sin 'per-Du'. ;)

Das duale Zahlensystem ist dir geläufig?
Bei drei Byte (24 bit) wären das insgesamt 16777216 Zähler 
(0..16777215).
Sollte als Auflösung reichen.
Also musst du drei Byte senden, um die gesamte Impulsanzahl zu 
übertragen.

von Get2Together (Gast)


Lesenswert?

Hallo.

Danke für die schnelle Antwort.

Also sende ich einfach 3x 8 Bit, Also hab ich nach 3 Zyklen meinen Wert 
sendet!?.

Beispiel

15623 =   11 1101 0000 0111

Also sende ich 11 1101 00  und eimal 00 0111 und muss dem PC nur klar 
machen, das er es als String zusammensetzt!?

Hast du vielleicht grob einen Beispielcode fürs Senden?. Die passenden 
Konfiguration müsst ich schon geschafft haben

MFG

Viktor

von taugenichts (Gast)


Lesenswert?

Oder du sendest die Werte als einzelne Zeichen

     2  0  0  0  0

oder im ASCII-Format

    "2"  "0"  "0"  "0"  "0"
 =  32   48   48   48   48  (dez)


oder BCD-Codiert, oder... oder... oder....

von space (Gast)


Lesenswert?

Moin,

ich würde die 3 x 8 bit nicht ohne Redundanz senden.
Was passiert, wenn sich das auswertende Gerät verhaspelt?
Ich würde die 24 bit als 4 x 6 bit + 4 x Stellen senden.
Die Stelle würde ich voranstellen. So kann man sicher-
stellen, dass die Werte korrekt interpretiert werden.
z. B.:
00 110011    ;Byte 1 (LSB)
01 110011    ;Byte 2
10 110011    ;Byte 3
11 110011    ;Byte 4 (MSB)

ergibt 1100 1111 0011 1100 1111 0011    binär
oder    C    F    3    C    F    3      in Hex
oder   13.581.555                       dezimal

Viel Spass
Stefan

von PJ (Gast)


Lesenswert?

Man kann es auch so formulieren:

Wie machst Du selbst es eigentlich, dass Du mit nur 26 Buchstaben, große 
und KLEINE, und 10 Ziffern diese Meldungen schreibst, worin sogar die 
riesengroßen Zahlen enthalten sind?

Genau, Du zerlegst sie in Teile. Die. Du. dann. unseren. Augen. 
über.mittelst. Und bei uns im Hirn wird daraus wieder eine ganze 
Meldung.

Und genau so macht es im Prinzip auch die von Dir gewünschte 
Datenübertragung.

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.