1 个不稳定版本
| 0.1.0 | 2024 年 1 月 11 日 |
|---|
在 嵌入式开发 中排名第 2109
每月下载量 16,291
被 60 个 软件包使用(直接使用 2 个)
5KB
embassy-time-queue-driver
本软件包包含 embassy-time 定时器队列使用的驱动 trait。
很少需要直接使用此软件包。仅在实现自己的定时器队列时使用。
有两种定时器队列实现,一个在 embassy-time 中,通过 generic-queue 功能启用,另一个在 embassy-executor 中,通过 integrated-timers 功能启用。
lib.rs:
实现定时器队列
- 定义一个结构体
MyTimerQueue - 实现
TimerQueue用于它 - 使用
timer_queue_impl将其注册为全局定时器队列。
示例
use core::task::Waker;
use embassy_time::Instant;
use embassy_time::queue::{TimerQueue};
struct MyTimerQueue{}; // not public!
impl TimerQueue for MyTimerQueue {
fn schedule_wake(&'static self, at: u64, waker: &Waker) {
todo!()
}
}
embassy_time_queue_driver::timer_queue_impl!(static QUEUE: MyTimerQueue = MyTimerQueue{});