#raspberry-pi #timer #bare-metal #ruspiro

no-std ruspiro-timer

这个crate提供简单的定时函数,用于暂停当前处理特定的时间。核心暂停操作称为将阻塞。

9个版本 (5个破坏性更新)

0.6.0 2021年11月26日
0.5.2 2021年9月6日
0.5.1 2021年5月13日
0.4.1 2020年9月12日
0.0.1 2019年8月1日

嵌入式开发中排名第1713


3 crate使用

Apache-2.0 OR MIT

24KB
211

定时器RusPiRo crate

这个crate提供简单的函数,用于在当前核心上暂停执行特定的时间。它使用树莓派的自由运行计数器来提供微秒级准确的暂停计时。

CI Latest Version Documentation License

功能

功能 描述
pi3 激活以在使用系统定时器外围设备时使用适合树莓派3的定时器MMIO基内存地址
pi4_low 激活以在使用系统定时器外围设备时使用适合树莓派4在低外围模式下的定时器MMIO基内存地址
pi4_high 激活以在使用系统定时器外围设备时使用适合树莓派4在高外围模式下的定时器MMIO基内存地址

使用方法

要使用此crate,只需将以下依赖项添加到您的Cargo.toml文件中

[dependencies]
ruspiro-timer = "0.6.0"

完成后,您可以在Rust文件中访问定时器函数,如下所示

use rusprio_timer::*;

fn foo() {
    sleep(Duration::from_millis(1)); // pause for 1 millisecond
    sleepcycles(200); // pause for 200 CPU cycles
}

安排函数/闭包的执行就像这样简单

use ruspiro_timer::*;

fn foo() {
    // print after 100 milliseconds
    schedule(Duration:from_millis(100), || println!("delayed execution"));
}

许可证

根据Apache许可证第2版,(LICENSE-APACHEhttps://apache.ac.cn/licenses/LICENSE-2.0)或MIT (LICENSE-MIThttp://opensource.org/licenses/MIT),任选其一。

依赖项

~1.5MB
~38K SLoC