nb (Non-Blocking) — Crate 詳細
nb (Non-Blocking)
Mature no_std
Non-blocking I/O のためのトレイトとユーティリティ。embedded-hal で広く使われる「WouldBlock を返す」非同期パターン(Future ベースではない)を表現するための基盤です。
Traits and utilities for non-blocking I/O, commonly used by embedded-hal drivers (WouldBlock pattern).
コード例
ドライバが WouldBlock を返す前提の API を、block! マクロで簡易的に同期化できます。
use nb::block;
fn read_byte<R: embedded_hal::serial::Read<u8>>(mut uart: R) -> u8 { block!(uart.read()).unwrap()}