Home -> Software Developer -> Components & Libraries -> COMM-DRV/Lib Professional Edition
COMM-DRV/Lib Professional Edition
COMM-DRV/Lib - Serial Communication Libraries
Platforms: Windows 95/98/ME/NT/2000/XP/2003 Size: 5.94 M Cost: $189
Get the full version
Trial version
Developer's Website
Descriptions
COMM-DRV/Lib Professional Edition:
COMM-DRV/Lib - Serial Communication Libraries
Professional Edition
Price $189.95

Click To Buy & Download Right Away

COMM-DRV/LIB
is simply the best, fastest, and most comprehensive serial communication library and DLLs on the market.
The serial communication libraries support
Windows XP, Windows 2000, Windows
Me, Windows 98, Windows 95, and Windows NT, MS-DOS, Windows 3.x. It was designed by real
engineers & developers for real engineers, developers, and
programmers.
We know your time is valuable and have made every effort
to make the product easy to use. You will be able to get started with your
project immediately upon installation. We include Visual C/C++, Borland
C/C++, Access, and Visual Basic example projects that compile and link by
just clicking on the project. Use these as your starting point and in no
time you can have your app performing RS232, RS422, and/or RS485 serial
communication.
For engineers who must work on embedded systems or other
applications dependent on MSDOS, we have ample examples for using
COMM-DRV/Lib with QuickBasic, Professional Basic (e.g, Microsoft PDS
7.x), VBDOS, and Microsoft & Borland 16 bit C/C++.
If you are not using any of the tools mentioned above, it
is still quite possible that COMM-DRV/Lib is compatible with
your tools, as any tool or application capable of calling the Windows API
can call our DLLs (e.g, Magic, PowerBuilder, Visual FoxPro, etc).
Click below for easy document navigation:
|
 | Support ALL compilers and tools that can call 16 bit or 32 bit DLLs. |  | Support for ALL Hayes compatible modems (AT
command set). |  | Supports ALL single or multiport cards that
include a Windows driver. |  | Any number of ports may be active at the same time. |  | Built-in hardware and software handshaking for flow control (DTR/DSR, RTS/CTS,
XON/XOFF). |  | One API to learn. Same for Windows XP, Windows 2000,
Windows NT, Windows Me , Windows 9 8 , Windows
3.x, & MS-DOS. |  | Adjustable communication buffers of any size. |  | Remap baud rates logically. Modify baud rate divisor for non-standard baud rates. |  | Only library that really allows you to combine different multiport cards in one PC. |  | Supports USB to RS232 converters and USB modems with
their respective COM drivers. |  | Extensive statistics on every port(bytes lost, sent, received, errors, etc.). |  | Asynchronously call user functions on any serial communication or timed
event (receive, transmit, modem, or status change interrupt event, buffer count events,
specific character reception, error events, and much more). |  | Support for all memory models compatible with Microsoft and Borland C/C++ compilers, and
many other compilers. |  | Automatic UART type detection; 16650, 16550 support (including FIFO). |  | Nondestructive reading of data (read ahead). |  | Support baud rates in excess of 460K baud, with the ability to use today's
high-powered communications devices. |  | State-driven file transfer libraries allow Xmodem, Ymodem, and Zmodem file transfers on
multiple ports at the same time. |  | Completely port re-entrant, allowing it to be time-sliced. |  | 16 bit MSDOS/real mode support for most non-intelligent and several well known intelligent multiport cards(Digiboard, Arnet, Boca Research, GTEK, etc.). |  | On line help. |
|
| It is not enough to have a great serial
communication product. Good documentation is very important. COMM-DRV/Lib
includes very easy to navigate electronic documentation. Functions are easy
to find and are hyperlinked to related functions. |
 |
 |
For those who must have a hardcopy, we also
have the manual in printed form. |
 | Ample examples that illustrates COMM-DRV/Lib's
ease of use. These include Visual C/C++, Borland C/C++, and Visual Basic
fully functional projects. |  | 32 bit DLLs compatible with Windows XP, Windows 2000,
Windows NT, Windows Me, Windows 98, & Windows 95. |  | 16 bit DLLs compatible with Windows XP, Windows 2000,
Windows NT, Windows Me, Windows 98, & Windows 95, & Windows 3.x. |  | 16 bit static libraries compatible with MS-DOS and
Windows 3.x. |  | Complete electronic documentation in hypertext format. |  | Complete source code to libraries, DLLs, and
examples. |  | Excellent technical support. |
|
|
I just want to take a minute
to thank you for the software. I’m the one that wanted it for a senior
design class at Iowa State University. It worked great. We gave our
final presentation last Friday and the professors were impressed with our
project. As a testimonial of how easy and well your software works, I’m
an Electrical Engineering student with very little C/C++ programming
experience. In fact I was in the computer science beginning level class
when I began to use the software. Once I got started I had no real issues
with making things work. Again thanks for the
opportunity. Besides going to school I’m working for an equipment
manufacturer that does control systems. I’ll encourage the use of this
software whenever possible. I hope to find other uses for it in the
future.
Thanks,
Brett Stephenson ''Serial communication is at the core of what we do, and COMM-DRV has helped us rapidly
develop new applications, and easily add multiple-port features. We've been very impressed
with the flexibility of COMM-DRV, and the technical support has been outstanding.''
Lee Perryman,Deputy Director and head of technology development, Associated Press
Broadcast Services, Washington, DC
"COMM-DRV from WCSC is a source/object serial communications library for DOS and
Windows that lives up to its hype... its feature set puts it right at the top... In terms
of sheer versatility, COMM-DRV is nonparalleled."
Tom Campbell, PC Techniques Review
|
|
COMM-DRV/LIB is used in telecommunications,
banking, scientific, data acquisition, transaction processing, several major
bulletin board systems, SCADA, satellite communications, and other simple and complex
applications by many companies large and small.
A few companies using COMM-DRV/LIB include Ford Motor Company, General Motors, IBM,
NASA, Jet Propulsion Laboratory, Lockheed, MCI, AT&T, Rockwell, ALCOA, AMOCO,
Associated Press, Chevron, Boeing Aerospace, Central Point Software, Alcatel, Cellular One,
Affymetrix, Inc, Citicorp, DEC, Duns & Bradstreet, Federal Express, General Electric, Howard Johnson,
Intel, L.A. Cellular, MetroMedia Paging, Massachusetts Institute of
Technology(MIT), Northrop Grumman, UCLA, UCSD, MetroCellular, Dartmouth College, National Radio and Astronomy, NEC,
Nissan, Federal Reserve Bank of Boston, Panasonic, RJ Reynolds, Southwestern Bell,
L3 Communications, Texas Instrument, Goodyear, NOAA, Nokia, Naval Air Warfare
Center, Lawrence
Berkeley Laboratory, Microsoft, Seagate Technologies, and the US Postal Service.
|
C/C++ Examples |
| The following example is a complete C/C++
application that opens a port, set baud rates etc, dials a phone number,
uploads a file, hangup the phone/modem, and close the port. We did not
put any error checks in the example in order to focus on the application
itself. |
PortHandle=OpenComPort(1,2048,2048);
SetPortCharacteristics(PortHandle,BAUD9600,PAR_NONE,LENGTH_8,STOPBIT_1,PROT_RTSRTS);
Dial(PortHandle,1,"2913603187");
ModemConnect(PortHandle);
cdrvxfer_files(PortHandle,0,6,"*.*",NULL);
ModemHangup(PortHandle);
CloseComPort(PortHandle); |
| The following example simply outputs a
string. |
PortHandle=OpenComPort(1,2048,2048);
SetPortCharacteristics(PortHandle,BAUD9600,PAR_NONE,LENGTH_8,STOPBIT_1,PROT_RTSRTS);
PutString(PortHandle,"Output String");
CloseComPort(PortHandle); |
Visual Basic Examples |
| The following example is a complete
Visual Basic application that opens a port, set baud rates etc, dials a
phone number, uploads a file, hangup the phone/modem, and close the
port. We did not put any error checks in the example in order to focus
on the application itself. |
PortHandle=OpenComPort(1,2048,2048)
Stat=SetPortCharacteristics(PortHandle,BAUD9600,PAR_NONE,LENGTH_8,STOPBIT_1,PROT_RTSRTS)
Stat=Dial(PortHandle,1,"2913603187")
Stat=ModemConnect(PortHandle)
Stat=cdrvxfer_files(PortHandle,0,6,"*.*",0)
Stat=ModemHangup(PortHandle)
Stat=CloseComPort(PortHandle) |
| The following example simply outputs a
string. |
PortHandle=OpenComPort(1,2048,2048)
Stat=SetPortCharacteristics(PortHandle,BAUD9600,PAR_NONE,LENGTH_8,STOPBIT_1,PROT_RTSRTS)
Stat=PutString(PortHandle,"Output String")
Stat=CloseComPort(PortHandle) |
|
High Level Functions  | BytesInReceiveBuffer() Returns the number of bytes in the receive buffer. |  | BytesInTransmitBuffer() Returns the number of bytes in the transmit buffer. |  | CdrvCheckTime() Determine if time expired form a previous call to
CdrvSetTime(). |  | CdrvCrc16() Returns the 16bit CRC of a packet. |  | CdrvCrc32() Returns the 32bit CRC of a packet. |  | CdrvDelay() Delay specified time. |  |
CdrvGetContext() Set a
context value. |  | CdrvGetPcb() Returns a pointer to the port's PCB. |  | CdrvIntToBaudIndex() Converts baud rate integer
to a baud index. |  | CdrvSetContext() Sets a context value. |  | CdrvSetTime() Sets a timer to a specified delay. Expiration is tested by
CdrvCheckTime(). |  | CdrvSetTimeoutFunction() Sets the address of a function that gets called when
Delay() or CdrvCheckTime() is called. |  | CdrvSetTimerResolution() Sets the timer resolution used by
CdrvSetTime() and
Delay(). |  | CloseComPort() Close the communication port. |  | DtrOff() Turns DTR off. |  | DtrOn() Turns DTR on. |  | FlushReceiveBuffer() Discards the contents of the receive buffer. |  | FlushTransmitBuffer() Discards the contents of the transmit buffer. |  | GetByte() Gets a byte from the receive buffer. |  | GetPaceTime() Get the current inter-character pace time. |  | GetPacket() Gets a packet from receive buffer. |  | GetString() Gets a carriage return, line feed, or null terminated string from
receive buffer. |  | GetTimeout() Get the current timeout value. |  | InitializePort() Initializes the serial port(Allocate buffers,
cardtype, etc.). |  | IsBreak() Returns true if a break signal was detected. |  | IsCarrierDetect() Returns true if carrier detected. |  | IsCts() Returns true if CTS signal high. |  | IsDsr() Returns true if DSR signal high. |  | IsFramingError() Returns true if a framing error occurred. |  | IsInputOverrun() Returns true if the COMM-DRV receive buffer was overrun. |  | IsOverrunError() Returns true if the UART receive register was overrun. |  | IsParityError() Returns true if a parity error occurred. |  | IsPortAvailable() Determine if a particular port is in use. |  | IsReceiveBufferEmpty() Returns true if receive buffer is empty. |  | IsRing() Returns true if ring detected. |  | IsTransmitBufferEmpty() Returns true if transmit buffer is empty. |  | OpenComPort() Open standard COM ports under
Windows. Physical port information etc. are not required. |  | PeekChar() Returns the next character from receive buffer non-destructively. |  | PutByte() Queues a byte for transmission. |  | PutPacket() Queues a packet for transmission. |  | PutString() Outputs a null terminated string. |  | ReceiveBufferSize() Returns the receive buffer size. |  | RtsOff() Turns RTS off. |  | RtsOn() Turns RTS on. |  | SendBreak() Sends a break signal. |  | SetBaud() Sets new baud rate. |  | SetCallbackFunction()
Easy to use method
that effects a callback to have a user's standard C function when the
specified event occurs. |  | SetCustomBaud()
Maps a custom baud rate to one of the
standard COMM-DRV baud constants. |  | SetFlowControlCharacters() Sets characters used for flow control. |  | SetFlowControlThreshold() Sets high and low receive buffer thresholds. |  | SetPaceTime() Sets the current inter-character pace time. |  | SetPortCharacteristics() Set line control parameters(baudrate, length,
parity,etc.). |  | SetTimeout() Sets the current transmit/receive timeouts. |  | SpaceInReceiveBuffer() Returns space unused in receive buffer. |  | SpaceInTransmitBuffer() Returns space unused in transmit buffer. |  | TransmitBufferSize() Returns transmit buffer size. |  | UnInitializePort() Undo the effects of InitializePort() (unhook vectors. release
memory, etc.). |  | WaitFor() Outputs a string and waits for a matching response. |  | WaitForData() |  | WaitForDataPeek() |  | WaitForDataClearString() |  | WaitForDataSetString() |  | WaitForPeek() Non-destructive WaitFor(). |  | WaitForPeekTable() Outputs a string and non-destructively waits for a matching
response to a table of strings. |  | WaitForTable() Destructive WaitForPeekTable(). |
Modem Functions  | Dial() Dials using the modem with the Hayes command set. |  | ModemAnswerMode() Puts modem in answer mode. |  | ModemAttention() Puts modem in command state. |  | ModemConnect() Returns true if modem connection attained. |  | ModemGetCarrierSpeed() Returns carrier speed. |  | ModemGetConnectSpeed() Returns connect speed. |  | ModemHangup() Hangup modem connection. |  | ModemInit() Set modem initialization string. |  | ModemModifyString() Modify modem string. |
File Transfer Functions  | cdrvxfer_files() Transmit or receive file(s) with specified protocol to
completion. |  | cdrvxfer_getfiles() Receive file(s) with specified protocol. Must be called
several times till transfer complete. |  | cdrvxfer_sendfiles() Transmit file(s) with specified protocol. Must be called
several times till transfer complete. |  | cdrvxfer_sfiles() Transmit or receive file(s) with specified protocol to
completion(additional features). |  |
CdrvXferClearFileSpec()
Clears list of file specs created by CdrvXferSetFileSpec(). |  |
CdrvXferSetFileSpec()
Creates a list of filepaths/filespecs for file transfer routines. |  | FileTransferDialog() Enables an automatic dialog to be displayed on some of the
file transfer functions. |  | SetXferParameters() Set file transfer parameters. |  | TransferFiles() Transfer files. |
GUI Functions | CdrvLInitDialog()
Displays dialog box for port characteristics input. |  | CdrvLInitDialog2()
Displays extended dialog box for port characteristics input. |
Low Level Functions  | ser_rs232_block() Set
timeouts on character reception & trasmission. |  | ser_rs232_cleanup() Uninstalls a port. |  | ser_rs232_del_t_event() Deletes a timed event. |  | ser_rs232_dtr_off() Turns the DTR signal off. |  | ser_rs232_dtr_on() Turns the DTR signal on. |  | ser_rs232_flush() Selectively fushes input and output buffers. |  | ser_rs232_get_sdata() Gets pointer to COMM-DRV system data area. |  | ser_rs232_getbyte() Reads a byte from input buffer. |  | ser_rs232_getpacket() Reads a packet from input buffer. |  | ser_rs232_getport() Gets port information. |  | ser_rs232_getstatus() Gets port modem and line status. |  | ser_rs232_maxport() Returns the highest addressable port number. |  | ser_rs232_misc_func() COMM-DRV multiplex function. Used to setup user
callback functions, initialize certain variables, etc. |  | ser_rs232_putbyte() Queues a byte for transmission. |  | ser_rs232_putpacket() Queues a packet for transmission. |  | ser_rs232_putregister() Writes to specified 8250 type register. |  | ser_rs232_rts_off() Turns RTS off. |  | ser_rs232_rts_on() Turns RTS on. |  | ser_rs232_set_intfunc() Setup user interrupt functions(user callback). |  | ser_rs232_setbauddiv() Sets baudrate divisor for 8250 style UARTs. |  | ser_rs232_setup() Installs or modify a serial port. |  | ser_rs232_viewpacket() Non-destructively reads a packet from input buffer. |
|
|
| Hot Software | | Parallels Desktop for Mac - Parallels Desktop for Mac |
| e-Campaign - e-Campaign enables you to design rich HTML emails/newletters/ezines easily, and deliver personalized HTML emails to mail lists. |
| Code 128 Barcode Font Advantage Package - IDAutomation Code 128 Barcode Fonts supporting Code-128, UCC-128, EAN-128, USS-128, SSCC-18, SCC-14... |
| MICR E13B Font Advantage Package - MICR E13B Fonts - TrueType, PostScript & PCL |
| Complete Barcode, MICR and OCR Font Advantage Package - A Complete Barcode, MICR and OCR Font Advantage Package includes all of our fonts and tools for one price |
| .NET Barcode Forms Control & DLL - .NET Barcode Windows Forms Controls for Dotnet, C# & VB.NET |
| Brave Dwarves 2 Gold - Charming challenge for two brave dwarves! This quest is even more difficult! |
| iOpus Internet Macros *Scripting Edition* - iOpus Internet Macros Scripting Edition |
| WinTasks Professional - WinTasks 4 Professional- Tweak Your System |
| WinBackup - Secure your data by making regular backups |
|