Expand description

serialport-rs is a cross-platform serial port library.

The goal of this library is to expose a cross-platform and platform-specific API for enumerating and using blocking I/O with serial ports. This library exposes a similar API to that provided by Qt’s QSerialPort library.

Feature Overview

The library has been organized such that there is a high-level SerialPort trait that provides a cross-platform API for accessing serial ports. This is the preferred method of interacting with ports. The SerialPort::new().open*() and available_ports() functions in the root provide cross-platform functionality.

For platform-specific functionaly, this crate is split into a posix and windows API with corresponding TTYPort and COMPort structs (that both implement the SerialPort trait). Using the platform-specific SerialPort::new().open*() functions will return the platform-specific port object which allows access to platform-specific functionality.


An error type for serial port operations

A struct containing all serial port settings

A device-independent implementation of serial port information

A serial port implementation for POSIX TTY ports

Contains all possible USB information about a SerialPort


Specifies the duration of a transmission break

Specifies which buffer or buffers to purge when calling clear

Number of bits per character

Categories of errors that can occur when interacting with serial ports

Flow control modes

Parity checking modes

The physical type of a SerialPort

Number of stop bits


A trait for serial port devices


Returns a list of all serial ports on system

Construct a builder of SerialPort objects

Type Definitions

A type for results generated by interacting with serial ports