Some devices and applications work only with COM ports. If there are no free serial ports in your system or your computer doesn’t have them at all, you can use Virtual Serial Port Driver PRO to create as many virtual serial interfaces as you need. Virtual ports completely emulate the behavior and configuration of hardware serial ports and neither your operating system nor Windows applications will see any difference with real COM ports.
On top of managing virtual COM ports, VSPD PRO allows you to create advanced serial port bundles. Here are some examples of how port bundles work:
In this example, there is a pair of virtual ports COM3 and COM4 that can be used for serial-based hardware and/or software debugging and testing.
In this example, COM1 (real one) is split into two virtual ones: COM2 (main) and COM3. COM1 port parameters are dynamic and depend on the parameters of the main port of the opposite side (COM2). Any data coming into the split COM1 port will be sent to both out-side virtual ports COM2 and COM3, and vice versa.
For example, you have a GPS sensor, connected to COM1. It delivers GPS data to COM 2 and COM3, connected correspondingly to two navigational programs that need GPS data (e.g. Coastal Explorer and Electronic logbook).
Here, several real ports COM1 (main) and COM2 are joined into one virtual port COM3. Everything sent to the COM3 port will be duplicated to both COM1 and COM2.
For example, two serial ports COM1 and COM2 connected to the stenograph writing machines, and you need both of them to be connected to the app that can work with only one serial port at a time. By joining the two ports into one virtual COM3 port, you make it possible for the application to work with two devices at a time.
Here, two real ports COM1 and COM2 are joined into one virtual port COM3.
If several applications will be working with a virtual COM3 in parallel, each time any of those apps will need to work with a serial device, data from COM3 will be sent to either COM1 or COM2, depending on which one is free at the moment (this choice will be made automatically).
Also, multiple applications can open virtual COM3 simultaneously and connect one of the identical serial devices (that’s free at the moment) connected to the real COM1 or COM2 ports. But the number of applications connecting to COM3 can’t exceed the number of real serial ports in a bundle.
Data received by any of the joined ports COM1, COM2, and COM3 will be replicated to all the other ports of the bundle.
For example, if you have a HAM radio transceiver connected to a real COM1 port, a logging app connected to a virtual COM2, and a QRZ lookup tool connected to a virtual COM3, all three will receive data from a GPs unit sent to the IN-side of this bundle at the same time.
In this example, a real port COM1 is shared and wails for the applications to control its signal lines and manage settings.
Imagine that now your meteorological station, connected to port COM1, can send to and receive data from two programs that connect your PC to a weather station and display data for analysis (e.g. Weather Display and Virtual Weather Station).
In this example, all serial traffic from a real port COM2 is redirected to the virtual port COM3. Real port parameters are dynamic and depend on the parameters of the main port of the opposite side (COM3).
It is an ideal solution to ease your work with any serial port device or application which requires specific configuration settings. For example, if you have two serial-based devices, you can create a port bundle with a real COM1 on the IN-side and a real COM2 on the OUT-side and then connect your devices to COM 1 and COM2 correspondingly. Now, these two devices can exchange data, plus, you can use some monitoring software, like Serial Port Monitor, to collect the transmitted data for its further analysis.
Complex ports bundles
Data comes to the IN-side of the bundle from virtual port COM1 and then is split into several flows and directed to COM3 (virtual, main) and COM4 (virtual). And, vice versa, data comes to the IN-side from COM3 and COM4 and is joined into a single flow into COM1.
For instance, you can use a complex port bundle to connect a GPS Emulator application to the virtual COM1 port, and two navigational apps to COM3 and COM4. This way, data coming into the virtual port COM1 will be sent to both OUT-side virtual port COM2 and COM3, and vice versa.
Now let’s consider another example of creating a complex bundle, where COM1 is a shared port:
Now you can connect the GPS Emulator application to the virtual COM2, and share COM1 with several applications, so they’ll receive data from COM2 at the same time.
The virtual COM1 port has both data lines and signal lines looped back with a direct IN-to-OUT connection. As a result, the signal lines will be operating with the loopback pinout and the data sent to the bundle’s IN-side will be instantly received at the OUT-side. For example, this feature can be specifically efficient for trying out the throughput functionality of a COM1 port, or other data operation-related tests.
For example, the virtual port COM3 that was created in a pair can be used as a real port in the split bundle for the ports COM5 and COM6: