[Com0com-cvs] com0com ReadMe.txt,1.8,1.9
The virtual serial port driver for Windows.
Brought to you by:
vfrolov
From: Vyacheslav F. <vf...@us...> - 2006-06-28 13:59:06
|
Update of /cvsroot/com0com/com0com In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv11876 Modified Files: ReadMe.txt Log Message: Added FAQ about receive buffer overrun Index: ReadMe.txt =================================================================== RCS file: /cvsroot/com0com/com0com/ReadMe.txt,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ReadMe.txt 5 Dec 2005 10:43:19 -0000 1.8 --- ReadMe.txt 28 Jun 2006 13:59:03 -0000 1.9 *************** *** 9,13 **** Windows. 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 names starting at CNCA0 and CNCB0. The output to one port is the input from other port and vice versa. --- 9,13 ---- Windows. 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. *************** *** 111,112 **** --- 111,127 ---- A. You must prefix 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 add the following to the registry: + + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\com0com\Parameters\CNCB0] + "EmuOverrun"=dword:FFFFFFFF + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\com0com\Parameters\CNCA0] + "EmuBR"=dword:FFFFFFFF |