Verbindung am UART

Gast #69363
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich hab da mal ne Frage. Hab hier im Forum auch schon gesucht aber
nichts in der Art gefunden.

Kann ich irgendwie erkennen ob ein PC via serieller Schnittstelle an
den AVR angeschlossen wurde?

Was natürlich gehen würde, wäre vom Terminal ein Zeichen senden was
dein einen Interrupt auslöst. Ich hätte aber lieber eine Lösung ohne
Tastendruck.

Ich stelle mir sowas in der Art vor das ich über die serielle
Schnittstele meinem uC konfigurieren kann. Dazu soll eben in dem Moment
wo sich einer mit dem PC an den uC hängt ein Menu am PC ausgegeben
werden.

Bin schon gespannt auf Eure Antworten.

Der Jochen
Gast #69364
Lesenswert?
• ▲
▼
Wie nun? Soll der AVR den PC detektieren oder umgekehrt?
An Pin 3 des 9 pol. Steckers am AVR (Sendeleitung des PCs) liegt eine
negative Spannung an, wenn der PC angeschlossen ist, ansonsten wohl 0V.
Diese könnte man mit einem OPV messen.
Gast #69365
Lesenswert?
• ▲
▼
Hallo noch mal,

der AVR soll den PC erkennen. Das mit der Leitung 3 wäre mal eine
Möglichkeit.

Ich wollte eben mal noch nachsehen wofür die Pins 1,7 und 9 sind. Die
sind nämlich derzeit noch nicht belegt.

Trotzdem schon mal Danke, Der Jochen
Gast #69366
Lesenswert?
• ▲
▼
Der einfachste Weg ist eine Kurzschlußbrücke im Stecker. Sobald das
Kabel am uP angesteckt wird wird ein Pin auf Masse gezogen und der uP
erkennt dass das Kabel angesteckt wurde (muß aber nicht bedeuten dass
auch ein Pc am Kabel hängt).
Die zweite Variante ist die Statusleitungen auszuwerten, das bedeutet
aber dass die Terminalsoftware Hardware-Handshake unterstützt und du
einen freien RS232-TTL Wandler hast.

Die in der Praxis wohl gebräuchlichste Form ist dass der User in der
PC-Terminal Software einmal <ENTER> drücken muß und darauf den
Menue-Schirm angezeigt bekommt. (damit die Variante die du eigentlich
nicht willst ;-)

grüsse leo9
Gast #69367
Lesenswert?
• ▲
▼
Ich denke das ich mich wohl doch erst mal mit der
"Tassden-Druck-Variante" begnüge.
Werd mir aber mal noch die freien Pins anschauen ob man damit noch was
machen kann.

Trotzdem Danke für die Infos.

Der Jochen
Gast #69368
Lesenswert?
• ▲
▼
Pin 1 Data Carrier Detect
Pin 2 Received Data
Pin 3 Transmit Data
Pin 4 Data Terminal Ready
Pin 5 Signal Ground
Pin 6 Data Set Ready
Pin 7 Request To Send
Pin 8 Clear To Send
Pin 9 Ring Indicator

Mit dem 2. Receiver des MAX232 an Pin4 (DTR) könnte man das ganze noch
wesentlich eleganter lösen. Den zugehörigen TTL-Ausgang des MAX232 kann
man dann an einen freien Port-Pin anschließen.
Ich konnte zu so später Stunde dem Datenblatt nicht eindeutig
entnehmen, was passiert, wenn ein Receiver-Eingang auf 0V bzw. GND
liegt. Ich habe aber am Ausgang dann High gemessen, und da die Receiver
invertierend sind, wird er auf Low gehen, wenn am Eingang z.B. DTR High
anliegt.
Gast #69369
Lesenswert?
• ▲
▼
Erst mal Danke für die Mühe. Ich hab mir das jetzt noch mal durch den
Kopf gehen lasssen und bin zu dem Schluss gekommen das die Variante mit
Zeichen senden eh die sinnvollste ist. Denn es kann ja möglich sein das
einer zwar den PC an den AVR hängt, aber das Terminalprogramm noch
nicht offen hat und somit gehen die gesendeten Daten vom AVR ja auch
wieder ins Nirvana.

Werd das jetzt erst mal so lösen und wenn ich dan Zeit habe und mir
Langweilig ist kann ich mir das noch mal genauer anschauen.

Trotzdem noch mal vielen Dank für die Hilfe.

Jochen

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.