Forum: PC-Programmierung Keine Daten an serieller Schnittstelle...


von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe ein Problem beim lesen von Daten über die serielle
Schnittstelle (COM2). Ich versuche Daten von einem uC an den PC zu
übertragen. Habe dafür ein C-Programm geschrieben, welches mir den Port
offen hält und auf eigehende Daten wartet. Wenn ich jetzt dem
Mikrocontroller sage, er soll die Daten an die serielle Schnittstelle
senden, macht er das auch ohne Fehlermeldung. An der seriellen
Schnittstelle des PC's kommt jedoch nichts an, oder es wird nichts
angezeigt. Die Spannung an der seriellen Schnittstelle beträgt 5,4V.
Hab das C-Programm mal in den Anhang getan.

Vielleicht weiß einer von euch, an was das liegen könnte???

Gruss,
Stefan

von AndreasH (Gast)


Lesenswert?

Hast Du mal mit Hyperterminal getestet ob überhaupt was reinkommt?
Oder woher weisst Du, dass der MC sendet?

Grüße
Andreas

von Stefan (Gast)


Lesenswert?

Mit Hyperterminal hab ich auch schon getestet, kommt aber auch nichts
an. Beim allerersten Test kamen ca. 10 Zeichen an, jedoch nicht die
Daten, welche ich auslesen wollte, nur eine sinnlose Zeichenfolge. Seit
dem erscheint aber gar nichts mehr...

Der MC müsste schon senden, hab ein vordefiniertes Testprogramm laufen
lassen, das sollte eigentlich funktionieren.

Gruss,
Michael

von Stefan (Gast)


Lesenswert?

noch was...

ich habe jetzt mal die Spannung zwischen RxD-Pin und Ground gemessen.
Wenn ich Daten sende gibt es einen kurzen Anstieg auf 3,4V danach fällt
der Pegel wieder auf 0V zurück. Die 3,4V reichen ja aus um den Kanal
"high" zu setzen. Also funktioniert das Senden der Daten vom uC aus
schon.

Aber weder Hyperterminal noch mein C-Programm zum auslesen der
Schnittstelle zeigt Daten an?????

von Rufus T. Firefly (Gast)


Lesenswert?

Weil Du mit einem DVM oder was auch immer einen kurzen Spannungsanstieg
gemessen hast, nimmst Du an, daß das Senden der Daten vom µC aus
funktioniert?

Findest Du das nicht ein bisschen, äh, vermessen?

von AndreasH (Gast)


Lesenswert?

Du mußt auf jeden Fall eine Spannung gegen GND auf RXD bzw. TXD messen.

Zieh mal Deinen Stecker ab und miss mal am MC zwischen TXD und GND.
Dort sollte was vorhanden sein. Desgleichen am PC.
Wenn Du jetzt anklemmst mußt Du zwischen TXD und GND bzw. RXD und GND
die gleichen Spannungen haben.
Ähnliche Effekte wie Du hat man wenn TXD auf TXD statt auf RXD legt.
D.h. Sender auf Empfänger legen und nicht Sender auf Sender.
Wenn Du vor dem Anklemmen was vernünftiges misst und nachher Schrott
riecht es nach Sender auf Sender.

Ist der Hardwarehandshake am PC ausgeschaltet? Wenn nicht, kannst Du da
Brücken reinlegen. Beim 20-poligen sind es 4 - 5; 6 - 8 - 20. Beim
9-poligen mußt Du Dir die entsprechenden Pins raussuchen. Einfacher
geht es aber wenn der Handshake softwaremäßig ausgeschaltet ist.

von Stefan (Gast)


Lesenswert?

Hallo Andreas...

Hardwarehandshake ist ausgeschaltet.

Bei Messung der Spannung liegen folgende werte an:
MC: GND -> TxD = 7,7V
PC: GND -> TxD = 5V

angeschlossen: GND -> TxD = 7V

von Stefan (Gast)


Lesenswert?

hier noch die Spannungen von GND -> RxD:
MC = -10,2V
PC = 0,2 V
angeschlossen = -10,2V

von AndreasH (Gast)


Lesenswert?

Kann es sein, dass da Sender auf Sender geschaltet wurde?
Zumindest die 0,2V am PC riechen danach.

Wenn Du GND/TXT misst welche Pin-Nummern sind das dann am 9/20-poligen
Stecker/Buchse.
Sind dass die gleichen. D.h. hasst Du dann TXD vom MC auf TXD vom PC
geschaltet. Damit liesse sich die 0,2V erklären.

Versuch das einfach mal zu drehen. Passieren kann da nichts.

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.