#async #no-std

no-std nostd_async

为单线程no_std环境提供的异步运行时

3个不稳定版本

0.6.1 2023年5月19日
0.6.0 2021年11月24日
0.3.1 2020年11月15日

#455 in 嵌入式开发

Download history 58/week @ 2024-03-12 49/week @ 2024-03-19 44/week @ 2024-03-26 142/week @ 2024-04-02 77/week @ 2024-04-09 44/week @ 2024-04-16 99/week @ 2024-04-23 71/week @ 2024-04-30 30/week @ 2024-05-07 29/week @ 2024-05-14 93/week @ 2024-05-21 51/week @ 2024-05-28 44/week @ 2024-06-04 31/week @ 2024-06-11 28/week @ 2024-06-18 175/week @ 2024-06-25

282 每月下载量
2 crates 中使用

MIT 许可证

29KB
783

nostd_async

示例

pub fn main() {
    let runtime = nostd_async::Runtime::new();

    let mut task = nostd_async::Task::new(async { println!("Hello World") });

    let handle = task.spawn(&runtime);

    handle.join();
}

功能

cortex-m

启用Cortex-M支持。

  • 在调度和取消调度任务时禁用中断
  • 当没有任务剩余时等待中断

wfe

如果没有待处理任务,使用 wfe 而不是 wfi


lib.rs:

示例

let runtime = nostd_async::Runtime::new();

let mut task = nostd_async::Task::new(async {
    println!("Hello World");
    42
});

let handle = task.spawn(&runtime);

assert_eq!(handle.join(), 42);

更多示例请参阅 示例目录

依赖项

~160KB