mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verbindung am UART


Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: wolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: wolli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.