Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This version of Boost is under active development. You are currently in the develop branch. The current version is 1.92.0.
Boost.Asio includes classes for creating and manipulating serial ports in a portable manner. For example, a serial port may be opened using:
serial_port port(my_io_context, name);
where name is something like "COM1"
on Windows, and "/dev/ttyS0"
on POSIX platforms.
Once opened, the serial port may be used as a stream. This means the objects can be used with any of the read(), async_read(), write(), async_write(), read_until() or async_read_until() free functions.
The serial port implementation also includes option classes for configuring the port's baud rate, flow control type, parity, stop bits and character size.
serial_port, serial_port_base, serial_port_base::baud_rate, serial_port_base::flow_control, serial_port_base::parity, serial_port_base::stop_bits, serial_port_base::character_size.
Serial ports are available on all POSIX platforms. For Windows, serial ports
are only available at compile time when the I/O completion port backend is
used (which is the default). A program may test for the macro BOOST_ASIO_HAS_SERIAL_PORT to determine
whether they are supported.