Registry / networking / usbd-serial

usbd-serial

JSON →
library0.2.2rscratesunverified

USB CDC-ACM serial port class for use with the usb-device library, enabling USB serial communication on embedded devices.

# Cargo.toml [dependencies] usbd-serial = "0.2.2"
INSTALL
IMPORT
SIG · USBD-SERIAL
U
usbd-serial
networkingrustv0.2.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

SerialPort
use usbd_serial::SerialPort;

Sets up a USB CDC-ACM serial port that echoes received data.

use usbd_serial::SerialPort; use usb_device::prelude::*; fn main() { let usb_bus = UsbBus::new(); let mut serial = SerialPort::new(&usb_bus); let mut usb_dev = UsbDeviceBuilder::new(&usb_bus, UsbVidPid(0x16c0, 0x27dd)) .manufacturer("Fake company") .product("Serial port") .serial_number("TEST") .device_class(2) // CDC .build(); loop { if !usb_dev.poll(&mut [&mut serial]) { continue; } let mut buf = [0u8; 64]; if let Ok(count) = serial.read(&mut buf) { serial.write(&buf[..count]).ok(); } } }
Debug
Known issues
gotchaRequires a USB device HAL implementation (e.g., usb-device) and a specific microcontroller support crate.
fix
Add usb-device and a HAL crate like stm32-usbd or nrf-usbd to your dependencies.
affects: >=0.2.0
Upgrade
Version history
0.2.2latest on crates.io
Audit
Dependencies

No dependency data recorded yet.

Agent activity
17 hits · last 30 days
node
14
Amazon
1
OpenAI (training)
1
Resources
usbd-serial — cargo add usbd-serial · libregistry