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
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.
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
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
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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.