COMM-DRV/NT
Professional serial communication library-DLL / high speed kernel driver for Windows XP, Windows 2000, & Windows NT. Supports multidrop protocol and nine bit protocol
Platforms: Windows 95/98/ME/NT/2000/XP/2003 Size: 5.94 M Cost: $299
Get the full version
Trial version
Developer's Website
Descriptions
COMM-DRV/NT:
Professional serial communication library-DLL / high speed kernel driver for Windows XP, Windows 2000, & Windows NT. Supports multidrop protocol and nine bit protocol.
serial communication libraries library kernel driver DLL RS232 RS422 RS485 multiport multidrop nine bit protocol RS-422 RS-485 RS-232 16550 16450 8250 16650 16750
COMM-DRV/NT

Click To Buy & Download Right Away 

COMM-DRV/NT
is the state of the art
serial communications Kernel Device Driver for
Windows XP, Windows
2000, and WindowsÔ
NT. It
provides crisp, fast, and reliable performance from the aging 8250, and 16450 UARTs as
well as lightning fast performance from the 16550/16650/16750 family of UARTs.
If your
application requires ultra fast serial communications, fast response on the RTS signal for
multidrop applications, and/or
nine-bit protocol support,
then COMM-DRV/NT is the
tool of choice for these applications.
Who is a candidate for
COMM-DRV/NT?
COMM-DRV/NT is perfect for applications where any of the
following applies:
Need for high speed and/or reliable serial communication on one or
more ports concurrently.
Need for multidrop protocol support.
Need for nine-bit protocol support.
Support for built in serial ports on motherboard(COM1, COM2, etc.).
Support for non-intelligent PCI & ISA multiport cards w/16x50 UARTs.
Need for support for the larger FIFOs of the 16650 family
of UARTs.
Need for crisp support of hardware flow control built directly
into UART.
Need for time stamping bytes with microsecond resolution.
Need callbacks on events including state of modem signals,
line errors, break detection, and other events.
Need to have your 16 bit MSDOS application run under Windows XP,
Windows 2000, or Windows NT..
COMM-DRV/NT uses the Win32 standard DLL
calling conventions. As such, it may be integrated with any Windows tool,
application, or language that can call DLLs. COMM-DRV/NT may be used with Visual
C/C++, Borland C/C++, Watcom C/C++, Visual Basic, Access, Excel, Paradox, and a myriad of
other tools and applications.
COMM-DRV/NT supports
the multidrop protocol directly from within its interrupt handlers. In this mode
it drops the RTS immediately after the last byte leaves the UART. It is the
fastest response currently available under Windows NT or Windows 2000.
COMM-DRV/NT does not use any of the
Windows XP, Windows 2000 or Windows NT serial communication services or device drivers. It talks directly to the serial port. As such, there is no unnecessary layering of services that are time consuming.
COMM-DRV/NT supports
the nine-bit protocol. It transmits the first byte with the ninth bit set. It
transmit all remaining bytes in the packet with the ninth bit cleared. It can
read and write bytes using the nine-bit protocol with the standard 16x50
family of UARTs.
COMM-DRV/NT supports
the time stamping of each byte that enters the UART. It provides microsecond
resolution. It buffers the time stamp with the data.
COMM-DRV/NT was designed with
interoperability in mind. Its API is completely downwardly compatible to our was designed with
interoperability in mind. Its API is completely downwardly compatible to our COMM-DRV/VxD product.
In fact, the new DLL provided with COMM-DRV/NT will work under Windows NT
& Windows 2000 as well as under Windows 95 and Windows 98.
Under Windows 2000 or
Windows NT the kernel
driver shipped with COMM-DRV/NT is installed. Under Windows 95 or Windows 98, the
VxD that ships with COMM-DRV/VxD would be installed. The software engineer/programmer need
not worry about Windows platform since the interface is abstracted by the above mentioned
DLL.
COMM-DRV/NT is extremely easy to use. The API
is simple, concise, and intuitive. Ample examples are provided. Additionally COMM-DRV/NT
may be integrated with all other WCSC
communication products to increase their performance.
Technical Specifications:
 |
Provides support for RS485/RS422 devices. It can automatically
drop the RTS signal when all data has been transmitted for optimum control of the RS485
buses or other devices requiring said protocol.
|  |
Provides
built in support for the nine bit protocol. With one call the first byte is sent with
the ninth bit set while the other bytes are sent with the ninth bit
cleared. |  |
Supports any
number of serial ports active concurrently with receive and transmit buffers of any size. |  |
Supports
baud rates in excess of 400K. |  |
Provides
automatic hardware flow control(RTS/CTS, DTR/DSR), as well as software flow
control(XON/XOFF). |  |
Provides
seamless integration with COMM-DRV/Lib
and COMM-DRV/Dos. |  |
Supports the
built in PC COM ports and ALL non-intelligent multiport cards based on the 8250, 16450,
16550, 16650, 16750, 16850 family of UARTs. |  |
Peek ahead
virtually any number of bytes. |  |
Interrupts,
buffering, and flow control handled in 32 bit mode of the CPU in Ring 0. |  |
Autodetects
16550 and uses it in high speed mode. |  |
Autodetects
16650 and can use built-in hardware flow control and larger FIFOs. |  |
Allows
sharing IRQs on supporting hardware. |  |
Ability to
provide time stamps on all inputted data. |  |
Ability to
save line status and modem status information with each byte that is buffered.
|  |
Provides for
user function callback on specified events. |  | Provides for
blocking calling thread till specified event occurs. |
Application Programming Interface (API):
| WCSCVxDBreakOff() |
Resets the port from the break state. |
| WCSCVxDBreakOn() |
Puts the port in the break state. |
| WCSCVxDBytesInRcvBuf() |
Returns number of bytes in receive buffer. |
| WCSCVxDBytesInXmtBuf() |
Returns number of bytes in transmit buffer. |
| WCSCVxDCallbackOnEvent() |
Callbacks a user function on the
particular event. |
| WCSCVxDCleanup() |
Closes an opened port. |
| WCSCVxDDeleteEvent() |
Deletes an outstanding event. |
| WCSCVxDDtrOff() |
Turn DTR off. |
| WCSCVxDDtrOn() |
Turn DTR on. |
| WCSCVxDFlush() |
Purges communication buffers. |
| WCSCVxDGetMetrics() |
Return port statistics on specific items. |
| WCSCVxDGetPacket() |
Get a packet of data. |
| WCSCVxDGetPort() |
Get port metrics. |
| WCSCVxDGetRegister() |
Read an 8250/16450/16550 register value. |
| WCSCVxDInit() |
Map dynamically to the VxD. |
| WCSCVxDInitializePort() |
Open a port. |
| WCSCVxDIsAllDataOut() |
Returns true if transmit buffer is empty as
well as the UART is empty. |
| WCSCVxDOpenPort() |
Opens the serial port(preferred). |
| WCSCVxDPutPacket() |
Output a packet of data. |
| WCSCVxDPutRegister() |
Write to an 8250/16450/16550 register. |
| WCSCVxDRtsOff() |
Turn RTS off. |
| WCSCVxDRtsOn() |
Turn RTS on. |
| WCSCVxDSetBaudDiv() |
Set new baud rate divisor(for non standard
baud rates) |
| WCSCVxDSetPortCharacteristics() |
Set new port characteristics
(baud rates etc.) |
| WCSCVxDSetup() |
Extended port open. |
| WCSCVxDSizeOfRcvBuf() |
Get size of receive buffer. |
| WCSCVxdSizeOfXmtBuf() |
Get size of transmit buffer. |
| WCSCVxDSpaceInRcvBuf() |
Get available space in receive buffer. |
| WCSCVxdSpaceInXmtBuf() |
Get available space in transmit buffer. |
| WCSCVxDViewPacket() |
Non-destructively reads a packet of data. |
| WCSCVxDWaitForEvent() |
Puts calling thread to sleep
until event occurs. |
|