Prüfen, ob Gerät an serieller Schnittstelle angeschlossen
Prüfen, ob Gerät an serieller Schnittstelle angeschlossen
Hallo! Ich habe einen Olympus-Fußschalter an meine serielle Schnittstelle angeschlossen - die Steuerung funktioniert mit dem von mir geschriebenen Programm einwandfrei. Wenn ich den Fußschalter allerdings nicht angeschlossen habe, gibt es Probleme. Gibt es eine Möglichkeit abzufragen, ob an einer seriellen Schnittstelle ein Gerät angeschlossen ist, sodass ich eine entsprechende Abfrage in mein Programm einbauen kann?
PB + B4X = greatest tools on earth
Win 10 | PB 5.72
Win 10 | PB 5.72
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
- Wohnort: Luxemburg
- Kontaktdaten:
Vieleicht hilfts dir ja weiter:
Ich hatte früher mal mit Turbo Basic einen Chat programmiert der übers Nullmodem Kabel über die serielle Schnittstelle lief. Das interessante daran war, das wenn ich was an der Schnittstelle angeschlossen hatte, z.b. ne Maus, immer ein Echo zurückkam.
Ich hatte früher mal mit Turbo Basic einen Chat programmiert der übers Nullmodem Kabel über die serielle Schnittstelle lief. Das interessante daran war, das wenn ich was an der Schnittstelle angeschlossen hatte, z.b. ne Maus, immer ein Echo zurückkam.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Danke, Thorium, für Deine Antworten. Ich weiß jetzt nicht, wie ich das Echo detektieren kann, aber ich habe festgestellt, dass im Fall, dass der Fußschalter nicht angeschlossen ist, der RI, DCD, DSR und CTS-Signal-Status false ist. Wenn der Fußschalter angeschlossen ist, springen DCD, DSR und CTS auf true.
PB + B4X = greatest tools on earth
Win 10 | PB 5.72
Win 10 | PB 5.72
Die einzige Möglichkeit, die mir jetzt dazu ein fällt, so wird es bei vielen Geräten gemacht, ist eine Statusabfrage. Man schickt einen Befehl (zB: Status oder Version - ist Geräteabhängig) und man wertet die die Rückantwort aus. Kommt eine, oder ist diese korrekt, ist das Gerät angeschlossen... ^^
Eine Art Query-Planner soll die Ausführung von Map/Reduce-Funktionen in Hadoop stark beschleunigen.
Auch bei der Statusabfrage kann es sein das anschliessend die Schnittstelle hängt.
Es ist aber ungewöhnlich das die Hardware Handshake auf hi liegen.
Bei Maschinen die als reine Slave arbeiten werden die Handshake´s oft über Brücken künstlich auf hi gesetzt. Beispiel Brücke :
Host----------------Slave
RTS ->
|----------->DCD
CTS<-
RTS wird nach Com Init. Hi und bedient gleich auch CTS und setzt DCD (Receive line signal detector) hi. Die gleiche Brücke ist auch beim Slave.
Sprich, dem Slave sein DCD ist nur hi wenn ein Host angeschlossen ist.
Also Com initialisieren, DCD Abfragen, ist DCD low = nix angeschlossen, Com wieder schliessen, FM ausgeben. Ist DCD hi = mach das was du willst. Wenn du anschliessend auch noch Hardware Handshake machen willst musst du diesen über DTR, DSR bedienen.
Es ist aber ungewöhnlich das die Hardware Handshake auf hi liegen.
Bei Maschinen die als reine Slave arbeiten werden die Handshake´s oft über Brücken künstlich auf hi gesetzt. Beispiel Brücke :
Host----------------Slave
RTS ->
|----------->DCD
CTS<-
RTS wird nach Com Init. Hi und bedient gleich auch CTS und setzt DCD (Receive line signal detector) hi. Die gleiche Brücke ist auch beim Slave.
Sprich, dem Slave sein DCD ist nur hi wenn ein Host angeschlossen ist.
Also Com initialisieren, DCD Abfragen, ist DCD low = nix angeschlossen, Com wieder schliessen, FM ausgeben. Ist DCD hi = mach das was du willst. Wenn du anschliessend auch noch Hardware Handshake machen willst musst du diesen über DTR, DSR bedienen.