C / C++ RS232 / RS422 / RS485 serial communications software. Control multiple ports simultaneously. Includes line status / control, modem control, ANSI emulation, virtual ports (USB to serial, Bluetooth serial), hardware / software flow control.

Version: 7.0MarshallSoft C / C++ serial communications component library for RS232 and multi-drop RS485 and RS422 serial ports.
License: Free To Try $119.00
Operating System: Windows
Homepage: www.marshallsoft.com
Developed by:
Use WSC4C to write applications to access data from serial devices such as barcode scanners, modems, lab instruments, medical devices, USB serial devices, scales, GPS navigation, fingerprint scanners, printer servers, etc. Features of WSC4C include:
- Supports 256 ports. Can control multiple ports simultaneously.
- Fully thread safe, port re-entrant, modem control, serial line status and control, and ANSI emulation.
- Uses the standard Windows API to communicate with any device connected to a RS232 serial port.
- Supports virtual serial ports (USB to serial converter, Bluetooth serial).
- State driven Xmodem and Ymodem on multiple ports simultaneously (up to 256 connections).
- Can send Windows messages on completion of events (incoming character, etc.).
- Includes over 52 functions plus modem control.
- Supports any baud rate.
- Ability to specify the parity, word size, and number of stop bits.
- Does not depend on support libraries. Makes calls to Windows API functions only.
- Includes multiple C/C++ example programs.
- Does not depend on support libraries (calls to core Windows API functions only).
- Royalty free distribution with your compiled application.
- C source code is available.
- Free technical support and updates for one year.
- Fully functional evaluation version available.
- Supports most C/C++ compilers: Microsoft, Borland, Watcom, LCC, GCC, Digital Mars, Embarcadero.
- Supports all versions of 32-bit and 64-bit Microsoft C/C++ and Visual Studio C/C++.
- Includes 32-bit and 64-bit DLL files plus OBJ files for static linking.
- Works with 32-bit and 64-bit Windows through Windows
Version 7.0: Fixed SioGets() - would never timeouts when overlapped I/O was enabled. Added SioOpen and SioClose. Added SioGetsQ - reads port until no incoming data for specified "quiet" time. Added example programs Scale.c and vc_Scale.cpp that read from a (serial) scale.
Version 6.0.1: Added additional error codes. Added SioErrorText() that returns text associated with specified error codes. Added SioPortInfo() that returns baud in BPS and the theoretical port CPS. Added SioGetsC() that receives an entire line through the stop (EOL) character. Added ReadGPS example program.
Version 5.4.1: Added SioCRC16 and SioCRC32 functions to compute 16-bit CCITT CRC or 32-bit CCITT CRC; Added SioCountWait function that waits for a specified number of incoming bytes before returning; Added Visual Studio 2013 and 2015 support. Added makefiles for GCC, LCC, and Digital Mars C compilers.
Version 5.4: Added SioLRC function that computes the "longitudinal redundancy check"; added additional error checks to SioQuiet, and SioWaitFor; SioSetInteger no longer requires an open port for global (all ports) parameters; Modified SioReset to make it more tolerant opening slow virtual ports.
Version 5.0: Added support for 64-bits (WSC64.DLL) Windows; Added SioHexView() function; Added several Visual Studio examples.