Warum werden USB-Anschlüsse manchmal als serielle Anschlüsse und als COM bezeichnet?

3702
mickkk

Was mein Verständnis von Computeranschlüssen betrifft,

  1. Ein serieller Port ist ein 9-poliger Stecker, wie er hier gezeigt wird, und wird auch als COM-Port bezeichnet.
  2. USB-Anschlüsse unterscheiden sich von seriellen Anschlüssen.

Warum sehe ich dann häufig USB-Anschlüsse, die als "serielle Anschlüsse" bezeichnet werden, und in der Arduino IDE werden USB-Anschlüsse durch das COM-Präfix identifiziert? Warum wird manchmal auch ein virtueller COM-Port benötigt, wenn keine seriellen Ports beteiligt sind? (Beispiel: Prologix GPIB-USB-Adapter.)

Diese Verwendung des gleichen Namens zur Beschreibung zweier verschiedener Dinge, die ich denke, kann etwas verwirrend sein.

Screenshot from the Arduino IDE, menu command Tools → Serial Port → COM14 shown

12
USB ist serielle Kommunikation. vor 6 Jahren 2
Möglicherweise haben Sie ein [USB-Gerät, das als serielle Schnittstelle funktioniert] (https://www.google.fi/search?q=usb+serial&tbm=isch). Etwas, das einen dieser FTDI (FT232) oder Prolific (PL2303) USB-zu-Seriell-Chips oder vielleicht eine MCU mit einer Software-Implementierung desselben hat? Wenn diese im gleichen Namensraum wie die auf dem Motherboard (oder in PCI (e) -Karten) befestigten seriellen Ports angezeigt werden, wird die Schnittstelle für die Software einfacher: Sie muss nicht wissen, wie der Port physisch implementiert ist Quacksalber wie eine serielle Schnittstelle. ilkkachu vor 6 Jahren 3
Es mag hilfreich sein zu erkennen, dass sich in den frühen Tagen des IBM-PCs und vieler seiner Vorgänger ein "serieller Port" normalerweise nicht auf der Hauptplatine befand, sondern vielmehr eine Schnittstelle auf einer Erweiterungsbuskarte. Heute gilt dieses Konzept relativ immer noch, da es immer noch einen seriellen Schnittstellenkonverter gibt - nur der "Erweiterungsbus", der ihn wieder mit dem Computer verbindet, ist jetzt USB, anstelle der alten ISA-Anschlusserweiterung des Prozessorlokals. Chris Stratton vor 6 Jahren 4
Universal ** was ** Bus? hobbs vor 6 Jahren 14
@Hobbs, das ist richtig Universal Serial Bus. Ein Bus. Sehr verschieden von einer seriellen Schnittstelle, oder? Auch ohne den dummen fetten Text. vor 6 Jahren 4
Sie können USB- / serielle Adapterkabel erhalten, die über einen kleinen Chip verfügen, der zwischen einem USB-Anschluss und einem seriellen Anschluss konvertiert. Manchmal sind "USB" -Geräte tatsächlich Geräte mit serieller Schnittstelle, in die der Chip eingebaut ist. user20574 vor 6 Jahren 0
Sie müssen nicht DB9 sein; ursprünglich [DB25] (https://en.wikipedia.org/wiki/D-subminiature#Communications_ports) wurde für RS-232 verwendet. Peter Mortensen vor 6 Jahren 1

5 Antworten auf die Frage

26
Joren Vaes

Dies sind keine USB-Anschlüsse, die als serielle Anschlüsse bezeichnet werden. In Ihrem Beispiel verfügt das Arduino über ein USB-zu-Seriell-Gerät (entweder in Form eines zweiten Mikrocontrollers oder eines FTDI-Chips). Dabei wird USB zur Kommunikation mit dem Computer verwendet und bildet einen echten seriellen Port nach außen - ähnlich wie USB-Wi-Fi-Dongles oder USB-LAN-Adapter, USB-SATA-Adapter usw.

Der Schlüssel ist, dass der serielle Port in vielen Fällen nicht direkt für den Benutzer verfügbar ist, da er im Gerät "fest verdrahtet" ist (in diesem Fall direkt an den zu programmierenden Mikrocontroller angeschlossen).

In der strengen Theorie ist jeder Port, der eine serielle Kommunikation verwendet (fast jeder moderne Bus - einschließlich USB, was für "Universal Serial Bus" steht, wenn mein Speicher mir dient) ein "serieller Port". In den meisten Fällen bezieht sich der Begriff "serieller Anschluss" jedoch auf einen Anschluss, der RS-232 entspricht.

Ich verstehe. Ich denke jedoch, dass dies immer noch etwas verwirrend sein kann. Ein erfahrener Ingenieur sprach mit mir darüber, wie ein bestimmtes Gerät über eine "serielle Schnittstelle" an unser Hauptgerät angeschlossen werden musste. Ich nahm an, dass er über USB sprach. Erst später stellte sich heraus, dass es sich bei der Schnittstelle um eine 9-polige alte serielle Schnittstelle handelte . mickkk vor 6 Jahren 0
Wenn sich jemand auf eine "serielle Schnittstelle" bezieht, bedeutet dies fast sicher, dass RS-232 über einen DE-9M-Anschluss angeschlossen ist. Wenn Menschen USB meinen, neigen sie dazu, USB zu sagen. Gleiches gilt für andere serielle Protokolle wie RS-485 oder GPIB oder die verschiedenen Ethernet-Varianten. vor 6 Jahren 10
Ich kann diese Verwirrung definitiv verstehen. Wenn Sie über Spezifikationen oder ähnliches sprechen, ist es immer wichtig, den Standard (RS232) anzugeben. Das heißt, viele Leute verstehen nicht, dass es andere * serielle * Protokolle gibt. Es ist vergleichbar mit den Computernutzern von Consumer-Computern (ich mache IT als Studentenjob) - die Menschen beginnen, jede Internetverbindung als "WLAN" zu bezeichnen, auch wenn es sich dabei um einen klassischen RJ45-Anschluss handelt oder um jegliche Form von Netzwerkspeicher als "Cloud-Speicher" als Cloud Lagerung, auch wenn es im selben Raum wie sie sein könnte. War die Ursache für viele Ineffizienzen aufgrund von Missverständnissen. vor 6 Jahren 0
@Felthry: "seriell" bedeutet sehr oft asynchrone serielle Signalisierung (das "A" in "UART"), die auch von RS-232 verwendet wird, jedoch mit Standard-Logikspannungspegeln, nicht mit RS-232. Sie können auch die Handshaking-Pins enthalten, die zum 9-Pin (oder 25-Pin, der für RS-232 ursprünglich war) führen. Ben Voigt vor 6 Jahren 5
Wahr. Ich nehme an, das ist eine andere Ebene des Missbrauchs der Terminologie, wobei 'RS-232' eine Niederspannungsvariante des Protokolls bedeutet. Ich habe auch überlegt, den DB-25M-Stecker zu erwähnen, aber das ist hier nicht wirklich relevant. vor 6 Jahren 2
@Felthry, es tut mir leid, aber "wenn sich jemand auf eine" serielle Schnittstelle "bezieht, meinen sie fast sicher, dass RS-232 über einen DE-9M-Anschluss angeschlossen ist", ist eine veraltete PC-zentrierte Ansicht. Und seit mindestens einem Jahrzehnt sind PCs nicht mit 9-poligen Anschlüssen auf der Rückseite ausgestattet. Die Massenbevölkerung ihrer Nutzer hat sie nie berührt. Produkte, Geräte und Leiterplatten verwenden überall serielle Schnittstellen, eine Vielzahl dedizierter Steckverbinder sowie LVTTL-Pegel oder RS-232C. Die Ingenieure auf dieser Site werden über serielle Schnittstellen weit mehr als über einen alten PC-Standard verfügen. Viel viel andere Welt als das, fürchte ich. vor 6 Jahren 7
@TonyM Vielleicht habe ich einfach zu viel altes Schulmaterial dabei. Ich werde jedoch feststellen, dass Computer immer noch häufig mit DE9-Anschlüssen ausgestattet sind - nur nicht für den Verbrauchermarkt. Sie sind in Industrie und Forschung allgegenwärtig, da Sie sich wahrscheinlich mit Systemen aus den 90er Jahren oder früher verbinden müssen, als sie üblich waren. Die Leute aktualisieren ihre Industrieanlagen nicht so, als würden Sie ihr Handy aufrüsten! Wie gesagt, es ist ein Missbrauch der Terminologie. Vielleicht war "fast sicher" eine zu starke Formulierung, aber es ist eine sehr gebräuchliche Verwendung. vor 6 Jahren 4
@Felthry, sicher und ich schätze deine Gedanken hier. Es ist sehr subjektiv, wo man arbeitet, aus den Klängen. Ich habe im Laufe der Jahre eine ganze Reihe von Kunden umgezogen, kleine Firmen zu großen Fabriken mit Test / r'n'd / -Service und allen möglichen Arten, und sie sind auf PCs weit davon entfernt, allgegenwärtig zu sein. Denken Sie jedoch daran, dass jeder serielle PC-Anschluss, den wir bemerken, an eine Vielzahl von Geräten angeschlossen ist und es sich nicht um andere PCs handelt :-) USB-zu-LVTTL-Kabel, dedizierte Adapter für Produkte, USB direkt an den PC ... Ich kann mich nicht an das letzte Mal erinnern Ich habe ein serielles 9-Wege-zu-9-Wege-Kabel gesehen. Vergnügen, mit Ihnen zu besprechen :-) vor 6 Jahren 0
Genau die richtige Antwort, also +1. Zur Diskussion hinzufügen: In meiner Mikrocontroller-Klasse haben wir die PICDEM-Platine mit zwei PIC18-Mikrocontrollern verwendet. Für die asynchrone serielle Kommunikation hatten wir eine serielle Schnittstelle, die aber auch über USB 2.0 (der von einem anderen PIC-Chip gesteuert wurde) durchgeführt werden konnte ) und wechselten durch Verschieben bestimmter Anschlüsse. Sergiy Kolodyazhnyy vor 6 Jahren 1
Zu Ihrer Information, Mein Motherboard (War um 2013 heißer geworden; ich habe es erst letztes Jahr bekommen.) Hat immer noch serielle Anschlüsse als Header, es kam einfach nicht mit den Kabeln, um sie an den Fall anzuschließen. Dies war keine beworbene Funktion. (Im Wesentlichen ** haben alle ** SoCs einen UART-On-Chip, wie es passiert.) The Nate vor 6 Jahren 1
17
TonyM

Dies ist verwirrend, da Windows COM: Ports von einem in MS-DOS definierten Namenssystem stammen (* 1980). Dies wurde ziemlich genau von CP / M (geb. 1974) mit einigen Ideen von Unix kopiert. Sie hatten nicht mit einem zusätzlichen Transportbus wie USB gerechnet.

Einige Dinge in Windows sind Überlebende aus der CP / M-> MS-DOS-Entwicklung, wie etwa Laufwerksbuchstaben mit Namen, Dateinamenerweiterungen mit drei Buchstaben, EXE- und .COM-Dateien und die Befehlszeile der Befehlszeile.

Ein anderer ist der Gerätename: in der Regel drei Buchstaben, die immer mit einem Doppelpunkt enden. COM: ist ein serieller "Kommunikationsport", LPT: ein Zeilendrucker (normalerweise hängt an einem Centronics-Port), NUL: Dumps, was gesendet wird, CON: ist die "Konsole" (Tastatur und Bildschirm). Einige, von denen Sie mehrere haben könnten, werden nummeriert, um zwischen ihnen zu unterscheiden. COM: Ports tun, LPT: Ports werden zu COM1: und LPT1: usw.

Ein COM: -Port ist ein 'Endpunkt': Das entfernte Ende der Kommunikationsverbindung aus Sicht eines Windows-PCs. Wie viele andere Dinge in der Computertechnik wird die Brücke dort ignoriert und es ist die Komponente, an die Sie denken, nicht USB. Dies gilt auch für eine PC-Tastatur (verbunden als CPU-PCIe-USB-kbd) oder ein Netzlaufwerk (verbunden als CPU-PCIe-LAN-LAN-PCIe-CPU-PCIe-SATA oder ähnliches).

USB nutzt auch die Idee von Endpunkten. Ein USB-Controller kann einen Host-PC an alle Arten von Hardware anschließen und als Ressourcen bereitstellen. Wenn Sie also die per USB angeschlossene Hardware sehen, sehen Sie diese Endpunkte. Ein virtueller COM-Port in einem USB-Gerät ist einfach ein serieller Port, der von diesem USB-Slave-Gerät als Endpunkt kommt. Windows gibt ihm eine Nummer (COM1 :, COM27: usw.), und dieser serielle Port kann von jedem Programm erkannt und verwendet werden, das die Standard-Windows-API für COM: -Ports verwendet.

Einige über USB angeschlossene Hardware kann es vorziehen, einen seriellen Anschluss zu verkörpern, da dies die Entwicklung der Windows-Software vereinfacht. Es muss kein Gerätetreiber geschrieben werden, der viel Arbeit spart. Das USB-Gerät teilt Windows mit, dass es sich um einen seriellen Anschluss handelt. Aus Sicht des PCs ist dies in Ordnung, wenn er sich wie eine serielle Schnittstelle verhält (Bytes werden in einem endlosen seriellen Stream gesendet und empfangen, der immer geöffnet ist). Es gibt also Vorteile für den Entwickler.

Ich habe noch nie Gerätenamen gesehen, die mit einem Doppelpunkt enden. In der Kommandozeile sagt man auch: `type file.txt> lpt1` ohne Doppelpunkt. Im Standard-Windows-Dateimanager Explorer können Sie keine Datei mit dem Namen COM oder LPT1 erstellen (zumindest in Windows XP, möglicherweise auch später). Wo kann man eigentlich den Doppelpunkt nach dem Gerätenamen sehen? Ruslan vor 6 Jahren 4
@ Ruslan, Sie haben Recht, dass sie in Windows optional sind, was sie fallen gelassen hat. Sie akzeptiert im Gegensatz zu MS-DOS beide. Sie haben sie jedoch noch nie gesehen ... (a) suchen Sie einen Text auf MS-DOS-Geräten nach; (b) Geben Sie in CP "mode /?" und schauen Sie sich die Syntax des Befehls an, der zum Setzen der Parameter COMn: und LPTn: port verwendet wird. Probieren Sie sie aus, wenn Sie möchten. (c) Geben Sie in der Eingabeaufforderung 'copy con: nul:' ein und sehen Sie sich die Arbeit an (Strg-C am Ende). vor 6 Jahren 2
@ Ruslan Colon ist da, weil es ein Gerät wie jedes andere ist. Es ist nicht der Doppelpunkt, der etwas Besonderes ist - `copy con: filename.txt nul` funktioniert genau wie` copy c: dateiname.txt nul`. Mindestens bis zu MS-DOS 6.22 kann der Doppelpunkt in den meisten Fällen weggelassen werden, da er keine Mehrdeutigkeit verursacht. Im Gegensatz zu den Laufwerksnamen waren diese Geräte reservierte Namen, sodass Sie nicht auf die Probleme mit `copy file.txt c` stoßen (sollte ich die Datei in das aktuelle Verzeichnis auf dem Laufwerk c oder in eine Datei mit dem Namen" c "kopieren) "in meinem aktuellen Verzeichnis?). Luaan vor 6 Jahren 1
6
leonbloy

Um Joren Vaes 'Antwort hinzuzufügen : Beachten Sie, dass einige Software-Apps (wie die Arduino IDE) einen Windows-Treiber installieren, der "virtuelle COM" -Ports erstellt. Wenn diese Ports aktiviert sind, teilt das Betriebssystem den Programmen mit, dass ein COM-Port verfügbar ist, der wie ein standardmäßiger serieller Port [*] aussieht, zu dem Programme (wie Arduino IDE, aber auch andere) Bits senden und empfangen können zu einem beliebigen seriellen Port. Unter der Haube werden diese Bits jedoch an ein USB-Kabel gesendet. In der Arduino-Platine geschieht etwas analoges.

[*] Unter "serieller Standardanschluss" wird hier das RS-232-Protokoll verstanden, das üblicherweise über einen DB-9- oder DB-25-Anschluss übertragen wurde. In unserem Zusammenhang spielt es keine Rolle, dass USB auch "seriell" ist.

6
Ale..chenski

Ihr Verständnis des Unterschieds zwischen COM-Anschluss und USB-Anschluss ist korrekt.

Kurze Antwort auf Ihre Frage, warum einige USB-Ports vom Betriebssystem als "COM" -Ports zugeordnet werden, lautet: Es gibt USB-Geräte, die USB CDC (Communication Device Class) implementieren. Diese Geräte bieten eine Brücke von einer äußerst komplizierten USB-Schnittstelle zu einer Standardschnittstelle vom Typ UART / RS-232. Aus Gründen der Transparenz für Benutzer lädt das Betriebssystem USB-Treiber, die die Transportschicht als COM-Port nachahmen, einen virtuellen COM-Port. Einige historische Details und Gründe für diesen Ansatz folgen.

Der COM-Anschluss verwendet DB-9 / DB-15-Anschlüsse (auch bekannt als serielle RS-232- oder UART-Anschlüsse), und die Controller für diese Anschlüsse sind physisch der PC-Hardware zugeordnet und bestimmten Adressen im E / A-Bereich zugeordnet. Dieser COM-Controller ist in modernen PCs veraltet und erlischt.

Gleichzeitig verwenden viele MCU noch immer die serielle RS-232-Kommunikation als Hauptmittel für die Kommunikation mit der Peripherie. Der Grund ist, dass die Hardware (und Software) für diese Art von Verbindung sehr einfach und leicht zu implementieren ist. Darüber hinaus erfolgt die gesamte moderne Android-Entwicklungs- / Debugging-Kommunikation im COM-Port-Stil. Außerdem verwenden viele "Kommunikations" -Geräte (als Modems einschließlich 4G LTE und höher) immer noch die UART-Schnittstelle mit ASCII-Steuerprotokoll über mehrere "COM" -Ports.

Nun haben Entwickler ein Dilemma, wie mit solchen Mikrocontrollern zu kommunizieren ist, wenn der Host-Entwicklungs-PC keine COM-Anschlüsse hat. Die Lösung bestand in der Verwendung von USB-Anschlüssen und speziellen USB-Geräten, die das USB-Protokoll mit der RS-232-Schnittstelle des COM-Anschlusses verbinden. Es gibt dedizierte USB-Geräte als FTDI-Chips, und viele andere (Cypress, Microchip usw.) stellen Geräte her, die diese Bridge-Funktion ausführen.

Nun wird die gesamte native Kommunikation mit diesen MCUs immer noch in Form des RS-232-Protokolls ausgedrückt, und für die meisten Anwendungsbeispiele wird die Verwendung einiger Terminalanwendungen (TeraTerm, HyperTerminal usw.) vorausgesetzt. Die USB-zu-UART-Bridges sind mit Treibern ausgestattet, die den Port als virtuellen COM-Port darstellen. Alle moderne Software verwendet die Virtualisierung von COM-Hardware, die einen reibungslosen Übergang zu "COM-los" PCs ermöglicht. Es ist üblich, entweder UART-Ports auf einer MCU-Entwicklungsplattform mit einer dedizierten FTDI-Bridge auszustatten (und FTDI-Treiber auf einem Host-PC zu verwenden, damit der USB-Port wie ein COM-Port aussieht) oder den richtigen Bridge-Code in die MCU selbst einzubetten (falls vorhanden) es verfügt über native USB-Funktionen).

Der direkte Ansatz besteht darin, eine externe USB-zu-UART-Karte zu verwenden und die UART mit der in Entwicklung befindlichen MCU zu verbinden. Wenn eine Platine bereits über den DB-9-Anschluss verfügt, können USB-Dongles direkt daran angeschlossen werden.

In allen Fällen erscheint die native UART-Steuerung der MCU auf der Host-Seite als virtueller COM-Port, wobei alle zwischengeschalteten Signal- / Protokolltransformationen übersprungen werden. Deshalb wird heutzutage häufig auf die Unterscheidung zwischen USB-zu-UART-Bridges und COM-Ports verzichtet.

2
old_timer

Es ist sehr verwirrend, aber Sie müssen sich keine Sorgen machen. Denken Sie zunächst an einen UART, der selbst ein Oberbegriff ist, aber denken Sie an einen, der ein Protokoll mit einem Startbit, einem oder zwei Stoppbits, 7 oder 8 Datenbits und manchmal Parität erzeugt, die gerade oder ungerade ist. es kann von dort abweichen, was es noch schlimmer macht.

Der UART befindet sich auf TTL-Level, was auch immer das bedeutet. Früher waren es 5 V und jetzt 3,3 V, 1,8 V oder was auch immer; Vielleicht ist TTL der falsche Begriff. DANN hatten / hatten Sie RS-232, RS-422 usw. Dies sind die Standards VOLTAGE AND PIN, keine Protokollstandards. Es ist falsch, die Begriffe zu mischen und RS-232 zu sagen, wenn Sie eine Art UART meinen.

An dem Tag, als sich Ihr UART auf Ihren Motherboards befand, wollten Sie eine Verbindung zur Außenwelt herstellen, deren Spannungspegel zu der Zeit Sinn machte, und eine Art Standard-Pinbelegung / -Kabel. So wurde häufig ein beliebter 25- und 9-Pin-Standard für verschiedene Peripheriegeräte gefunden, und in der Wintel-PC-Welt wurde dies als COMmunication-Port oder manchmal als serieller Port bezeichnet.

Sicher, ein Port, der serielle Daten überträgt, kann und wird serieller Port, SPI, I²C, MDIO, UART, HDLC, SDLC usw. und möglicherweise sogar USB und SCSI genannt. Sie könnten verrückt werden. Normalerweise bedeutet eine serielle Schnittstelle einige Pins, die Sie bei einem UART erhalten können.

Die Unix / Linux-Welt sagt ttystatt com/ serial/ uart, aber es ist dasselbe.

Jetzt gibt es die IMPLEMENTIERUNG. Sie können einen UART-Chip mit einer Schnittstelle kaufen (yep, Sie können einen SPI-UART verwenden, der an beiden Enden seriell ist, oder I²C-UART oder einen dedizierten Bus oder USB usw.). Schon damals hatte der UART auf einer Seite einen Bus, durch den die CPU schließlich kommunizierte. Heute haben wir FTDI und andere Anbieter, die nette USB-UART-Lösungen herstellen. Einige Schnittstellenebenen zwischen der Software und dem UART sind nicht unterschiedlich. Die andere Seite des UART verfügt über eine Schnittstelle, sei es auf TTL / Chip-Ebene oder RS-232C oder RS-422 usw.

Frühe Arduinos verwendeten Sie häufig ein FTDI-USB-zu-UART-Board, das auch dem Arduino Strom lieferte. Einige haben diese USB-Stromversorgung und serielle / UART auf der Arduino-Platine selbst, und dann wird sie auf der gesamten Platine mit der UART auf dem AVR-Chip verbunden (gleiches gilt für einige Prozessoren mit einigen Schichten von Bussen, damit Software mit einem UART kommunizieren kann, der dies hat einige Schnittstellen auf der anderen Seite, in diesem Fall die Pins am Rand des AVR, auf Span-Spannungspegeln (TTL).

Warum sollte sich die Software-Terminologie oder sogar Softwareanwendungen auf Anwendungsebene ändern, da sich die UART-Funktionalität seit Jahrzehnten nicht geändert hat? Schreiben Sie eine Linux- / Unix-TTY-Anwendung vor 10-15 Jahren gegen einen UART-Chip auf Ihrem Motherboard, und es besteht eine gute Chance, dass sie auch heute noch mit einem USB auf TTL-Level oder einem USB auf RS-232C-Level oder RS-422 oder einem anderen Pin funktioniert / Ebenendefinition. Das gleiche gilt für Windows, und ich habe den Code, der so alt ist, dass er immer noch auf beiden funktioniert. In der Windows-Welt wird der Begriff COM verwendet.

Ich habe die Arduino-Sandbox seit einiger Zeit nicht mehr verwendet, und wenn ja, wäre dies unter Linux gewesen, aber es würde mich nicht wundern, wenn das Java-Programm, wenn ich mich recht erinnere, generisch ist und den Systemnamen so ttyS2unter Linux und COM2 verwendet an den Fenstern.

Wenn Sie Ihre Frage erneut lesen, kann dies noch viel weiter gehen und die bereits vorhandene Menge an Software nutzen, die diese API-Aufrufe verwendet. Es gibt keinen Grund, warum Sie seit Jahrzehnten keinen virtuellen Port in Software erstellen können, der diese bidirektionalen Daten nach unten bringt. UART zu Ethernet ist sehr verbreitet, und in Serverräumen, in denen Server immer noch sehr viel COM / TTY / RS-232-Ports verwenden, können Sie einen Terminalserver mit mehreren Schnittstellen haben, an die Sie eine Reihe von Servern anschließen können. dann Ethernet auf der anderen Seite. Wenn Sie sich nicht für Telnet entscheiden, können Sie einen virtuellen COM-Port-Treiber installieren.

Dann glaubt Ihre Anwendung auf Ihrem Computer, dass sie mit einem COM-Port kommuniziert. In der Tat springt der Bytestrom auf das Ethernet und schlägt dann auf den Terminalserver, dann auf ein UART-zu-RS-232C-Kabel (aber nicht unbedingt auf Pinbelegung) den Server und zurück auf die gleiche Weise.

Manchmal gibt es keinen Grund, es tatsächlich zu einem echten UART zu machen. Virtualisieren Sie einen COM-Port aus irgendeinem Grund, damit Software, die für diese API-Aufrufe geschrieben wurde, weiterhin funktionieren kann. Sie könnten vielleicht über die alte Bankensoftware nachdenken, die wir immer noch verwenden, die ein stummes Terminal mit einer UART-Schnittstelle hat, das vielleicht früher einmal fest verdrahtet war oder in ein Modem ging, um schließlich einen Server zu installieren. Sie können es so einrichten, dass die Software weiterhin funktioniert, und zwar durch verschiedene Emulationsgrößen, einschließlich eines virtuellen COM-Ports, der heutzutage wahrscheinlich Ethernet als seriellen Strom (z. B. TCP / IP) zum Server überträgt.