Das Öffnen des Ports macht elektrisch nichts. Es teilt dem Betriebssystem lediglich mit, dass der Port ab diesem Zeitpunkt der Anwendung zugewiesen ist. Das Betriebssystem verweigert anderen Apps den Zugriff auf den Port, während der von Ihnen geöffnet ist, und Ihre App kann darauf zugreifen.
Was macht das Öffnen einer seriellen Schnittstelle?
Was macht das Öffnen der seriellen Standard-PC-Schnittstelle in elektrischer Hinsicht (dh welche Spannungen an welchen Pins)?
Zum Beispiel das alte VB6-Programm, das einen Apparat steuert, für den ich die Aufrechterhaltung von Umschaltfunktionen .PortOpen
zur Steuerung einiger TTLs habe. Die Verbindung verwendete nur 2 Pins (schlechte Lote fielen auseinander), also welche Pins löte ich?
Die einzigen Beschriftungen / Dokumentationen beziehen sich auf die Pins 7 und 9 und sagen 0V und 5V in Klammern aus, setzen aber .PortOpen
wirklich nur 5V zwischen RI und RTS ?.
Als Post-Skript ist dies nicht das Seltsamste an der Einrichtung. Die oben erwähnte TTL I ist auch über einen BNC mit DB9 (!) Verbunden, wobei nur 1 Pin verwendet wird. Ich vermute, es gab eine Annahme über eine gemeinsame Masse, da die BNC-Abschirmung nicht mit dem GND-Pin verbunden ist. Der Anschluss erfolgt über den Fußpedal-Pin des Instruments, um das Gerät aus der Ferne auszulösen.
Aktualisieren
Nach dieser Seite, die DTR und RTS Stifte können hoch gehen, wenn der Port geöffnet wird. Wenn sie so konfiguriert wurden, gehen sie nach dem Schließen des Ports auf Low.
Wenn DTR und RTS nicht aktiviert sind, sollten Sie beim Öffnen des Ports beide auf niedrig setzen (und sie niedrig halten).
3 Antworten auf die Frage
Wenn Sie einen seriellen Port öffnen, werden alle Pins in einen definierten Zustand gebracht (ich kann mich nicht erinnern, welche Handshake-Zeilen standardmäßig mit Markierungen oder Abständen belegt sind, aber es ist Standard). Bis zum Öffnen der seriellen Schnittstelle kann der Status der Leitungen undefiniert sein. Wenn Microsoft nichts geändert hat, würde das Schließen einer seriellen Schnittstelle die Leitungen in dem Zustand belassen, in dem sie sich vor dem Schließen befanden. Wenn das zuletzt verwendete Programm sie in einem seltsamen Zustand belässt, bleiben sie in diesem Zustand, bis sie das nächste Mal geöffnet werden. Ich weiß auch nicht, ob dies unter Windows immer noch ein Problem ist, aber unter DOS gab es einige PCs, die ihre seriellen Anschlüsse beim Einschalten in einen doof-Zustand versetzten. Mindestens eine PC-Marke würde ihre serielle Schnittstelle so einstellen, dass sie fortlaufend lange Unterbrechungen überträgt, sofern dies nicht anders angegeben wird.
Ich stimme der Antwort von @Stevenvh nicht zu. Insbesondere für Fenster. Die API-Aufrufe "Port Open" und "Port Close", z. B. in .NET oder MSCOMM OCX, zwingen DTR- und RTS-Leitungen, ihren Zustand elektrisch zu ändern oder nicht.
Bei geöffnetem Port wird der DTR in den elektrischen Zustand versetzt, der der booleschen Eigenschaft DTREnable entspricht, wenn er vor dem Öffnen des Ports auf "true" gesetzt wurde. Standardmäßig bleibt es "false". Wenn der Benutzer niemals DTREnable setzt, bleibt die DTR-Zeile auf "open port" auf "false" wie vor dem Öffnen des Ports.
Gleiche Logik und Standardeinstellungen für Leitungsnamen "RTS" und Eigenschaft "RTSEnable". Sie wählen "RTSEnable" vor dem Öffnen des Ports, abhängig vom Kommunikationspartner am anderen Ende des Kabels und der Anzahl der betroffenen Drähte (Hadware-Handshake vs. Software-Handshake vs. kein Handshake).
- Datenträger erkennen - wird eingegeben, kein Effekt
- Daten empfangen - wird eingegeben, keine Auswirkung
- Daten übertragen - wird ausgegeben, bleibt "SPACE" statt "MARK"
- Datenendgerät bereit - wechselt zu "TRUE", wenn die Eigenschaft vor "Port open" festgelegt wurde
- Signalmasse - keine Änderung
- Datensatz bereit - wird eingegeben, keine Auswirkung
- Request to send - ändert sich in "TRUE", wenn die RTSEnable-Eigenschaft vor "Port Open" festgelegt wurde
- Clear to send - ist Eingabe, kein Effekt
- Ruftonanzeige - wird eingegeben, kein Effekt
Umgekehrt, wenn der Port geschlossen ist. Die Pins DTR und RTS wechseln in den Zustand "FALSE" oder bleiben im Zustand "FALSE", wenn sie nicht zum Zeitpunkt der Öffnung durch die Eigenschaften gesetzt wurden.
Verwandte Probleme
-
5
Wie kann ich einem Laptop eine serielle DB9-Schnittstelle hinzufügen?
-
1
WLAN-Adapter über serielle Schnittstelle?
-
2
USB zu seriellem Adapter / Kabel Windows / Mac / Linux
-
2
Bereinigen der seriellen Anschlüsse von Windows XP
-
1
Gemeinsame Nutzung der Internetverbindung über SLIP
-
2
USB-zu-DB9-Adapter
-
1
Snow Leopard-kompatible Treiber für Moschip MCS7720 USB-Seriell-Controller
-
6
Laptop mit interner serieller Schnittstelle in 2009 (und 2010)
-
3
Linux-Comandline-Programm, serielle Übertragung (COM-Port), Hex
-
2
Seriell über IP, Windows-Linux