コンテンツにスキップ

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).

バージョン
1.1.0
ライセンス
MIT OR Apache-2.0
メンテナンス
活発に開発中

コード例

ドライバが WouldBlock を返す前提の API を、block! マクロで簡易的に同期化できます。

nb::block! で非ブロッキング read を待つ
use nb::block;
fn read_byte<R: embedded_hal::serial::Read<u8>>(mut uart: R) -> u8 {
block!(uart.read()).unwrap()
}

関連 Crates