1个不稳定版本
0.1.0 | 2023年5月23日 |
---|
#20 in #精确
8KB
58 行
wait_timer
用于比Delay更精确等待时间的Crate,使用rp2040_hal::timer::Timer
。除了等待指定秒数的wait
函数外,还实现了保持从重新执行到重新执行时间恒定的gate
函数。
如何使用
- 创建
rp2040_hal::timer::Timer
。
let timer = hal::timer::Timer::new(pac.TIMER, &mut pac.RESETS);
- 创建
wait_timer::Wait
。
let wait = Wait::new(&timer);
- 使用
wait
和/或gate
方法。
方法
wait
函数
比Delay更精确的等待时间。
wait.wait_us(1_000_000);
wait.wait_ms(1_000);
wait.wait_sec(1);
gate
函数
从上次执行以来等待指定秒数。
loop {
wait.gate_sec(1); // A
// ...
wait.gate_ms(500); // B
// ...
}
- A第一次被忽略。
- A到B的过程在500毫秒内执行。
- B及其以后的过程(B到A)在一秒内执行。
依赖关系
~7MB
~144K SLoC