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
Muss die Erkennung auch bei ausgeschalteten Peripheriegeräten erfolgen können?
Nein, die Geräte sind an sobald sie angeschlossen sind. Werden gleichzeitig mit dem AVR mit Strom versorgt.
So wird das wohl nix, der Max232 ist ein reiner Pegelwandler aber du könntest die Hanshakeleitungen benutzen DSR/DTR und RTS/CTS, dazu braucht es dann noch einen 2. Max232 auf dem 2 UART Device
Eventuell werkeln die Geräte ja schon vor ihrer Einsatzbereitschaft an den Handshake-Leitungen rum
>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.
CTS/RTS oder DSR/DTR kann ich nicht benutzen. Das Kabel zu den Geräten hat nur RX/TX/GND/+ und kann nicht geändert werden.
Charly schrieb: > Nein, die Geräte sind an sobald sie angeschlossen sind. Werden > gleichzeitig mit dem AVR mit Strom versorgt. 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.
> 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
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
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.