#wait #timer #rp2040 #hal #accurate #delay #times

rp2040_wait

用于比Delay更精确等待时间的Crate,使用rp2040_hal::timer::Timer

1个不稳定版本

0.1.0 2023年5月23日

#20 in #精确

MIT 许可证

8KB
58

wait_timer

用于比Delay更精确等待时间的Crate,使用rp2040_hal::timer::Timer。除了等待指定秒数的wait函数外,还实现了保持从重新执行到重新执行时间恒定的gate函数。

如何使用

  1. 创建rp2040_hal::timer::Timer
let timer = hal::timer::Timer::new(pac.TIMER, &mut pac.RESETS);
  1. 创建wait_timer::Wait
let wait = Wait::new(&timer);
  1. 使用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
    // ...
}
  1. A第一次被忽略。
  2. A到B的过程在500毫秒内执行。
  3. B及其以后的过程(B到A)在一秒内执行。

依赖关系

~7MB
~144K SLoC