If there is a requirement to capture serial data from another application on the same PC, the Null Modem Emulator (com0com) from http://com0com.sourceforge.net/ may be installed. This provides linked pairs of virtual serial ports, ie COM21 is linked to COM22, so any data sent to COM21 arrives at COM22. This avoids needing to use a pair of physical ports and a null modem cable. It might be used for capturing serial printer data.
The information that follows is from the com0com readme file that may be found in the files com0com-i386.zip (for Windows 32-bit) andcom0com-x64-signed.zip (for Windows 64-bit) in the ComCap install directory. Note com0com is an open source project and has not been tested by Microsoft WHQL, so skip the security alerts that appear during 64-bit installation.
Introduction
![Vspe virtual serial port emulator Vspe virtual serial port emulator](https://i.ytimg.com/vi/crpQpOyKm9s/maxresdefault.jpg)
The Null-modem emulator is an open source kernel-mode virtual serial port driver for Windows, available freely under GPL license. You can create an unlimited number of virtual COM port pairs and use any pair to connect one application to another. Each COM port pair provides two COM ports with default names starting
at CNCA0 and CNCB0. The output to one port is the input from other port and vice versa.
Usually one port of the pair is used by Windows application that requires a COM port to communicate with a device and other port is used by device emulation program.
For example, to send/receive faxes over IP you can connect Windows Fax application to CNCA0 port and t38modem (part of the OpenH323 project) to CNCB0 port. In this case the t38modem is a fax modem emulation program.
The homepage for com0com project is http://com0com.sourceforge.net/.
Installing
Simply run the installer (setup.exe). An installation wizard will guide you through the required steps.
If the Found New Hardware Wizard will pop up then
- select 'No, not this time' and click Next;
- select 'Install the software automatically (Recommended)' and click Next.
The one COM port pair with names CNCA0 and CNCB0 will be available on your system after the installation.
You can add more pairs with the Setup Command Prompt:
1. Launch the Setup Command Prompt shortcut.
2. Enter the install command, for example:
command> install - -
The system will create 3 new virtual devices. One of the devices has name 'com0com - bus for serial port pair emulator' and other two of them have name 'com0com - serial port emulator' and located on CNCAn and CNCBn ports.
To get more info enter the help command, for example:
command> help
Testing
1. Start the Hyper Terminal on CNCA0 port.
2. Start the Hyper Terminal on CNCB0 port.
3. The output to CNCA0 port should be the input from CNCB0 port and vice versa.
Uninstalling
Simply launch the com0com's Uninstall shortcut in the Start Menu or remove the 'Null-modem emulator (com0com)' entry from the 'Add/Remove Programs' section in the Control Panel. An uninstallation wizard will guide you through the required steps.
HINT: To uninstall the old version of com0com (distributed w/o installer) install the new one and then uninstall it.
FAQ & HOWTO
Q. Is it possible to change the names CNCA0 and CNCB0 to COM2 and COM3?
Com0com
A. Yes, it's possible. To change the names: Download reloader activator 3 0.
1. Launch the Setup Command Prompt shortcut.
2. Enter the change commands, for example:
command> change CNCA0 PortName=COM2
command> change CNCB0 PortName=COM3
Q. The baud rate setting does not seem to make a difference: data is always transferred at the same speed. How to enable the baud rate emulation?
A. To enable baud rate emulation for transferring data from CNCA0 to CNCB0:
1. Launch the Setup Command Prompt shortcut.
2. Enter the change command, for example:
command> change CNCA0 EmuBR=yes
Q. The HyperTerminal test succeeds, but I get a failure when trying to open the port with CreateFile('CNCA0', ..). GetLastError() returns ERROR_FILE_NOT_FOUND.
A. You must prefix the port name with the special characters '.'. Try to open the port with CreateFile('.CNCA0', ..).
Q. My application hangs during its startup when it sends anything to one paired COM port. The only way to unhang it is to start HyperTerminal, which is connected to the other paired COM port. I didn't have this problem with physical serial ports.
A. Your application can hang because receive buffer overrun is disabled by default. You can fix the problem by enabling receive buffer overrun for the receiving port. Also, to prevent some flow control issues you need to enable baud rate emulation for the sending port. So, if your application use port CNCA0 and other paired port is CNCB0, then:
1. Launch the Setup Command Prompt shortcut.
2. Enter the change commands, for example:
command> change CNCB0 EmuOverrun=yes
command> change CNCA0 EmuBR=yes
Q. I have to write an application connected to one side of the com0com port pair, and I don't want users to 'see' all the virtual ports created by com0com, but only the really available ones.
A. if your application use port CNCB0 and other (used by users) paired port is CNCA0, then CNCB0 can be 'hidden' and CNCA0 can be 'shown' on opening CNCB0 by your application. To enable it:
1. Launch the Setup Command Prompt shortcut.
2. Enter the change commands:
command> change CNCB0 ExclusiveMode=yes
command> change CNCA0 PlugInMode=yes
The Null-modem emulator is an open source kernel-mode virtual serial port driver forWindows, available freely under GPL license.
The Null-modem emulator allows you to create an unlimited number of virtual COM portpairs and use any pair to connect one COM port based application to another.Each COM port pair provides two COM ports. The output to one port is the input from otherport and vice versa.
The Null-modem emulator can be used to provide serial interface for device emulators.In this case the device emulation program uses one port of the pair andthe other port can be used by Windows or DOS application thatrequires a COM port to communicate with the device.For example, to send/receive faxes over IP you can connect WindowsFax application to t38modem (T38FAX Pseudo Modem ,part of the t38modem project ) via virtual COM port pair.
The Null-modem emulator can be used to provide serial interface for COM port redirectors.For example, with the com2tcp (COM port to TCP redirector,part of the com0com project ) you can communicate via serial interface with the TCP/IP servers.If you feel that com2tcp is what you need but can't find some required features (for example RFC 2217 support) then try use hub4com instead.
With the hub4com (HUB for communications,part of the com0com project ) it is possible to handle data and signals from a single serial device by a number of differentapplications (for example, several applications can share data from one GPS device).It's also possible to use the real serial ports of remote computer like if they exist on a local computer.
You can find more information inUsing com0com and com2tcp,ReadMe.txt for com0com,ReadMe.txt for com2tcp,ReadMe.txt for hub4comand onSourceForge Projectpage.
Alternatively, you can use Virtual Serial Port Driver by Eltima Software. It allows creating a large number of virtual COM ports and gives you great possibility to emulate serial port behaviour fully. Virtual Serial Port Driver provides flexible port creation, management, and removal, allows testing the software, supports control lines and high speed of data transfer with virtual port.
- Create any number of virtual COM ports
- Complete real ports settings emulation
- Manage all signal lines
- instantaneous ports creation lets working with them even before PnP manager detects the newly added ports;
- full supports of Windows 10
Description
The Null-modem emulator (com0com) is a kernel-mode virtual serial port driver for Windows. You can create an unlimited number of virtual COM port pairs and use any pair to connect one COM port based application to another.
Features
com0com: baud rate emulation
com0com: pinouts customization
com0com: noised line emulation
com0com: paired port settings monitoring (baud rate, data bits, stop bits, parity)
com0com: hiding 'unavailable' ports from user
hup4com: spliting data from one serial device into several virtual serial ports
hup4com: redirecting serial to TCP/IP and TCP/IP to serial
hup4com: RFC2217 - Telnet Com Port Control Option (client and server)
Null-modem emulator
(com0com)
The Null-modem emulator is an open source kernel-mode virtual serial port driver for Windows, available freely under GPL license.
The Null-modem emulator allows you to create an unlimited number of virtual COM port pairs and use any pair to connect one COM port based application to another. Each COM port pair provides two COM ports. The output to one port is the input from other port and vice versa.
The Null-modem emulator can be used to provide serial interface for device emulators. In this case the device emulation program uses one port of the pair and the other port can be used by Windows or DOS application that requires a COM port to communicate with the device. For example, to send/receive faxes over IP you can connect Windows Fax application to t38modem ( T38FAX Pseudo Modem , part of the t38modem project ) via virtual COM port pair.
The Null-modem emulator can be used to provide serial interface for COM port redirectors. For example, with the com2tcp ( COM port to TCP redirector, part of the com0com project ) you can communicate via serial interface with the TCP/IP servers. If you feel that com2tcp is what you need but can't find some required features (for example RFC 2217 support) then try use hub4com instead.
With the hub4com ( HUB for communications, part of the com0com project ) it is possible to handle data and signals from a single serial device by a number of different applications (for example, several applications can share data from one GPS device). It's also possible to use the real serial ports of remote computer like if they exist on a local computer.
You can find more information in Using com0com and com2tcp, ReadMe.txt for com0com, ReadMe.txt for com2tcp, ReadMe.txt for hub4com and on SourceForge Project page.
Free Serial Port Emulator
![Port Port](https://i.stack.imgur.com/IyeJD.png)
- Null Modem Emu.jpg (74.6 KB, 5 views)