Crate serialport

source ·
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 functionality, 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




  • Returns a list of all serial ports on system
  • Construct a builder of SerialPort objects

Type Aliases

  • A type for results generated by interacting with serial ports