Forum: Mikrocontroller und Digitale Elektronik RS232 PC -> µC


von Karl (Gast)


Lesenswert?

Hallo Freunde,
ich möchte mit einem PC über RS232 Daten an einen µC senden, aber 
irgendwie kommt nur Schrott an ;)

Damit ein Zeichen am µC ankommt, muss ich vom PC aus zwei Zeichen 
senden?!
Ich muss scheinbar 2 Byte senden, damit 1 ankommt.

Wenn ich zB "PC" an den µC sende, kommt 0x95(Hex) beim µC an :(
P müsste ja eig. Hex 70 sein und C Hex 43.


kann mir die Logik garnicht erklären. ?!
Hab nen 64Bit Betriebsystem.

Wäre für jeden Ratschlag dankbar!!
Gruß
Karl

von spess53 (Gast)


Lesenswert?

Hi

Baudrate vom PC und µC überprüft? Stimmt der Takt des µC?

MfG Spess

von Karl (Gast)


Lesenswert?

Ja Baudrate stimmt.
Hab nen USB->RS232 Wandler hier.
Wenn ich damit Daten an den µC Sende kommt alles an (1Bit->1Bit).
Wenn ich auf nen Orginal-RS232anschluss wächsel... s.o ;((

von Max H. (hartl192)


Lesenswert?

Karl schrieb:
> Wenn ich auf nen Orginal-RS232anschluss wächsel... s.o ;((
Was hast du als Pegelwandler zwischen µC und RS232?

von Mike (Gast)


Lesenswert?

Karl schrieb:
> ich möchte mit einem PC über RS232 Daten an einen µC senden, aber
> irgendwie kommt nur Schrott an ;)

Karl schrieb:
> Wenn ich damit Daten an den µC Sende kommt alles an (1Bit->1Bit).

Kommt's nu an, oder nicht?

Wie überprüfst du, was am µC ankommt?
Wie überprüfst du, was am PC ankommt?
Und was sendest du?

von Max H. (hartl192)


Lesenswert?

Karl schrieb:
> Hab nen USB->RS232 Wandler hier.
Richtig RS232 mit -13V...-3V/3V...13V Pegeln oder CMOS Pegeln?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Karl schrieb:
> Wenn ich auf nen Orginal-RS232anschluss wächsel... s.o ;((

"wächsel"?

Bedenke: Die Onboard-Schnittstelle von PCs kann maximal mit 115200 
Baud betrieben werden.

von Karl (Gast)


Lesenswert?

zwischen PC RS232 und µC garkein. Direkt angeschlossen.
Hab hier son Kollegen..
http://www.exar.com/common/content/document.ashx?id=636

Der sollte doch mit 3,3V µC Spannung garkomm oder nicht?

von Karl (Gast)


Lesenswert?

Möchtem it 9600 Baud schicken..

von Max H. (hartl192)


Lesenswert?

Karl schrieb:
> zwischen PC RS232 und µC garkein. Direkt angeschlossen.
> Hab hier son Kollegen..
> http://www.exar.com/common/content/document.ashx?id=636
Was jetzt? Den PC direkt an den µC angeschlossen oder einen SP3243E als 
Pegelwandler dazwischen?

von Karl (Gast)


Lesenswert?

Hab mir auch mal das ganze als Binärzahlen aufgeschrieben... Selbs mit 
TTL-Logik und RS232 kann ich da nicht durcheinander gekomm sein..
Zumal ich am wenigsten Verstehe wieso ich 2 Byte schicken muss damit 1 
Byte ankommt...

von Karl (Gast)


Lesenswert?

Max H. schrieb:
> Karl schrieb:
>> zwischen PC RS232 und µC garkein. Direkt angeschlossen.
>> Hab hier son Kollegen..
>> http://www.exar.com/common/content/document.ashx?id=636
> Was jetzt? Den PC direkt an den µC angeschlossen oder einen SP3243E als
> Pegelwandler dazwischen?

Öhhh..
Eigentlich hab ich den µC direkt an den PC angeschlossen.
Kann das sein das sich der Kollege auf dem Board befindet?!

Ein normaler RS232 hat doch +-15V oder?

von Stephan G. (Firma: none) (oppa)


Lesenswert?

Wartet der Empfänger auf mehrere STOP bits ?

von Max H. (hartl192)


Lesenswert?

Karl schrieb:
> Eigentlich hab ich den µC direkt an den PC angeschlossen.
Keine gute Idee, schau dir mal in den Absolute Maximum Ratings des µC 
die max./min. Eingangsspannung an.

> Kann das sein das sich der Kollege auf dem Board befindet?!
Das musst du wissen. Ich weiß nicht welches Board du hast und meine 
Glaskugel ist beim Polieren.

> Ein normaler RS232 hat doch +-15V oder?
Zitat https://de.wikipedia.org/wiki/RS-232:
> Bei den Sendern (Ausgänge) muss die Spannung mindestens +5 V bzw. −5 V
> an einer Last von 3…7 kΩ betragen, um genügend Störabstand zu
> gewährleisten. Üblich ist die Verwendung von +12 V und −12 V.

von M. K. (sylaina)


Lesenswert?

Karl schrieb:
> Ja Baudrate stimmt.
> Hab nen USB->RS232 Wandler hier.
> Wenn ich damit Daten an den µC Sende kommt alles an (1Bit->1Bit).
> Wenn ich auf nen Orginal-RS232anschluss wächsel... s.o ;((

Wie schauts denn mit nem Schaltplan und ähnlichem aus? Benutzt die 
PC-Seite vielleicht CTS/RTS? Und gibts du diese Signale auch vor? Sonst 
kanns tatsächlich sein, dass dein µC irgendwas empfängt aber nicht das 
was der PC sendet.

Du könntest auch den RS232-to-USB-Wandler dazu benutzen, dass der PC 
sich selbst was sendet und so überprüfen ob die serielle Schnittstelle 
des PCs in Ordnung ist. Hast du auch darauf geachtet, dass TX und RX 
richtig angeschlossen ist? Also ein TX gehört auf ein RX an der 
Gegenstelle, sonst klappt das mit dem Sprechen nicht wenn auf beide 
Seiten auf dem selben Draht TX bzw RX liegt.

von develop_t (Gast)


Lesenswert?

Hi,

Hatte auch mal so ein problem.
Habe dann den buffer auf 64 beschränkt. Und meinen pic auf dauer betrieb 
eingestellt zum testen.

Vorgehensweise bei so einem problem ist.
Wie ein vor komemmtator schrieb die rs232 testen. Das kann man ganz 
einfach machem mit putty oder einem anderen terminal probramm einfach rx 
& tx verbinden zur not tus eine einfache büro klammer.

Als nächstea den microcontrollen mit dem rs232 verbinden wieder das 
terminal programm und vom prozessor was senden. (1 Zeichen) kommt was an 
weist du das es geht. Kot was anderes an wie das was du sendest baudrate 
überprüfen,

Dann schauen on du was sendrn kannst vom pc zum micro. !!!!! HÄUGIGER 
FEHLER!!!! Das die empfangenen daten in der gleichen variablr 
gespeichert werden und damit die erste überschrieben wird.

Schau dir dafür mal ringbuffer an.

Kommt immernoch nicht das richtige an gehts an die programmierung. 
Welche sprache nutzt du?

Hast du dir ein sende prozocoll überlegt?

Bis wohin soll der microcontroller lesen? (Carrige return)

Zum thema spannung
Am einfachsten und sicheren ist ein multimeter zu nutzen und die 
spannung vom rs232 messen.
Dann noch im datenblatt des peozessors nach schauen was r maximal kann.

Mfg

Tim

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.