Archiv verlassen und diese Seite im Standarddesign anzeigen : RS232 - keine Daten werden im HyperTerminal empfangen
MucRobot
27.03.2012, 16:18
Hallo,
ich sitze gerade an einer studentischen Arbeit und habe folgendes Problem:
via der RS232-Schnittstelle möchte ich eine Zeichenfolge im HyperTerminal auf dem PC ausgeben. Es kommt jedoch nichts an.
Ich arbeite mit einem AT RN-Mega2560 Board. Folgende Fehlerquellen sind bereits auszuschliessen:
* der Jumper steckt an den richtigen PINs (2 und 3) des JP3-Anschlusses
* die Leitungen zum D-Sub9-Stecker sind überprüft worden, die Anschlüsse GND, TxD und RxD sitzen richtig
* der richtige COM-Port ist angewählt und das HyperTerminal entsprechend verbunden (beide gleiche BAUD-Rate)
* die Software müsste passen, denn ein Vorgänger hat mit diesem Programm bereits sowohl Ausgaben über USB als auch über RS232 erreicht
Ist es evtl. möglich, dass die RS232 Schnittstelle einer speziellen Aktivierung bedarf? Oder haben wir etwas übersehen?
Soweit, so gut...ich freue mich sehr über jegliche Hinweise und Hilfe.
Danke schon im Voraus.
Viele Grüße,
Florian
Thomas E.
27.03.2012, 17:00
Hallo!
Eine recht brauchbare Variante um herauszufinden, ob der Fehler PC-seitig oder µC-seitig liegt, ist folgende: Einfach Den Stecker von der Schaltung abziehen und direkt am Stecker RxD mit TxD verbinden. Wenn du anschließend ein Zeichen in HyperTerminal oder einem anderen Terminal eingibst, kommt dieses sofort zurück. Tippst du also zum Beispiel ein "u" ein, erscheint augenblicklich ein "u" im Terminalfenster, da dieses von der Brücke zwischen RxD und Txd sofort wieder zurück kommt.
5Volt-Junkie
27.03.2012, 21:09
UART-Pins des µCs direkt an SUB-D des Computers? Macht man das so (ernste Frage)? Da sind doch andere Spannungen oder verwechsele ich da was?
EDIT: eben in der Beschreibung gelesen dass ein Pegelwandler schon auf dem Board ist. Cool. Ich glaube ich sollte mir auch mal ein RN-Board zulegen :)
Thomas E.
27.03.2012, 21:20
UART-Pins des µCs direkt an SUB-D des Computers? Macht man das so (ernste Frage)? Da sind doch andere Spannungen oder verwechsele ich da was?
Nein, ich habe mich wohl etwas stolperhaft ausgedrückt. Ich meinte, dass RxD und Txd direkt am Stecker gebrückt werden müssen, also sozusagen eine Schleife.
Stell dir Zielschaltung und PC vor, beides per seriellem Kabel verbunden. Jetzt steckst du das Kabel an der Zielschaltung ab und wirfst die Schaltung vom Tisch. Jetzt gibt es am Tisch nur mehr jeweils ein RxD und TxD, nämlich jenes vom offenen Ende des Kabels. Nun einfach zwei Zentimeter Draht und eine Brücke (Schleife) machen. Wenn man gedanklich den Weg des seriellen Datenstroms verfolgt sieht das so aus: PC, Kabel, offenes Ende mit Brücke, über die Brücke wieder zurück und in den PC. Dieser stellt dann das soeben abgesendete Zeichen am Terminal dar.
5Volt-Junkie
27.03.2012, 21:31
@Thomas E. Danke für die ausführliche Beschreibung :) Meine Fragen waren an den Autor des Theras gerichtet, da ich gedacht habe, er hätte den Mikrocontroller direkt an die SUB-D Buchse angeschlossen. Erst später habe ich in das Datenblatt des Board geschaut. :)
Hallo,
also wie schon gesagt, einfach mal Rx und Tx des Kabels brücken und dann schauen ob du was im Terminal empfängst wenn du eine Taste drückst.
Wenn ihr ein Skope nutzen könnt, könnt ihr auch mal am Tx Pin des Controllers messen ob der überhaupt sendet.
MucRobot
28.03.2012, 16:58
Dankeschön, Thomas E. und Kampi,
habe beide Dinge, die ihr vorgeschlagen habt, schon probiert. PC-seitig liegt das Problem definitiv nicht.
Mit dem Oszi konnte ich hingegen keine Signale feststellen.
Dankeschön, Thomas E. und Kampi,
habe beide Dinge, die ihr vorgeschlagen habt, schon probiert. PC-seitig liegt das Problem definitiv nicht.
Mit dem Oszi konnte ich hingegen keine Signale feststellen.
Dann scheint der Controller nichts zu senden :)
Und es ist sicher, dass Tx vom µC zum Rx am PC führt ? (auskreuzung). Da geht's ums Kabel Board<>PC
Und mit dem Oszi überprüft VOR und NACH dem Pegelwandler ?
Aber das ist nur zur Sicherheit. Mit absoluter ungerechter Voreingenommenheit behaupte ich, dass in der Software vom µC ein Hund drin ist.
Auf Seite 34 im Datenblatt steht, dass TOut an Pin1 ist und auf Seite 6 ist Pin1 RX. Hast du schon einmal den 3pol. RS232 Anschluß einfach andersherum angesteckt? Hab mir jetzt nicht das ganze Datenblatt durchgelesen, aber da scheint es Unterschiede in der Bezeichnung zu geben. Wenn du diese 3pol. RS232 Buchse abziehst und auf 1 und 3 brückst und immer noch im Terminal Daten zurückbekommst, dann ist das die nächste Fehlerquelle. Dann mit dem Oszi an Bein 8 R1IN messen, ob das Signal vom PC kommt +-15V und anschließend am Bein 9 R1OUT (5V oder 3,3V je nach Typ) obs der Pegelwandler auch zum Controller schickt. Erst wenn das alles klappt, und am TX vom Controller nix rauskommt, kann man sich Gedanken über den Controller und dessen Programm machen.
sast
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.