RS232 Geräte erkennen?

Gast #2549370
Lesenswert?
• ▲
▼
Hallo zusammen!

Der Betreff ist etwas verwirrend, aber ich versuchs mal zu erklären:

Ich habe einen AVR mit 2 UARTS die mit einem MAX232 verbunden sind. An 
jeder RS232 Schnittstelle kann jetzt ein Gerät angeschlossen sein 
(ebenfalls mit MAX232). Ich möchte nun erkennen, ob ein Gerät, zwei 
Geräte oder kein Gerät vorhanden ist.

Das Problem an der ganzen Sache ist, das die Geräte erst nach ca. 20 
Sekunden betriebsbereit sind und per RS232 Befehl abgefragt werden 
können. Ich muss aber schon beim Start des AVR erkennen ob 1, 2 oder gar 
kein Gerät angeschlossen ist (je nach dem werden andere Dinge ausgeführt 
bis die RS232-Geräte einsatzbereit sind).

Ist mein Vorhaben überhaupt möglich? Gibt es evtl. Befehle, auf die ein 
MAX232 reagiert und selbst darauf antwortet?

Danke schonmal.

Charly
Gast #2549390
Lesenswert?
• ▲
▼
>Ist mein Vorhaben überhaupt möglich? Gibt es evtl. Befehle, auf die ein
>MAX232 reagiert und selbst darauf antwortet?

Nein. Der ist dumm wie Brot.

>Ich muss aber schon beim Start des AVR erkennen ob 1, 2 oder gar
>kein Gerät angeschlossen ist (je nach dem werden andere Dinge ausgeführt
>bis die RS232-Geräte einsatzbereit sind).

Musst du nicht. Frag halt erst nach 20s nach.
So einfach kann die Welt sein.
Gast #2549625
Lesenswert?
• ▲
▼
> Dann solltest du eine Chance haben, indem du die Spannung auf RXD
> (RS232-seitig) auswertest. Liegt die Spannung bei ca. 0V, so ist kein
> Gerät angeschlossen.
Konkret auf Datenblatt Seite 17 zu erkennen:
http://datasheets.maxim-ic.com/en/ds/MAX220-MAX249.pdf
Intern 5kOhm nach GND. Vergiss aber nicht, dass du bei Kommunikation 
Pegel von bis zu +-15V hast, d.h. die Schaltung zum Auswerten besteht 
nicht nur aus "Portpin mit Leitung verbinden".

Ralf
Gast #2549666
Lesenswert?
• ▲
▼
Magnus Müller schrieb:
> Dann solltest du eine Chance haben, indem du die Spannung auf RXD
> (RS232-seitig) auswertest. Liegt die Spannung bei ca. 0V, so ist kein
> Gerät angeschlossen.

Muss man garnicht, jedenfalls nicht auf der Leitungsseite, denn genau 
das tut ja der Receiver. Ist nichts angeschlossen, so ist der 
prozessorseitige Ausgang duaerhaft Hi. Um das festzustellen, braucht man 
bei ordentlichen UARTs auch keinen eigenen Pin, denn das UART sollte das 
als "BREAK" erkennen können, die Tatsache, ob eine Verbindung besteht, 
war also schon zu Zeiten seliger Teletypes und Fernschreiber definiert. 
1 oder 2 Sekunden zum Hochlaufen sollte man der Anlage aber schon 
gönnen, bevor man das abfragt.

Gruss Reinhard

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.