#frequency #run-time #cpu #clock #avr #retrieving #details

avr-config

avr-config是一个用于在运行时检索详细信息(如CPU时钟频率)的基础库。

3个稳定版本

2.0.1 2021年2月1日
1.0.0 2020年7月25日

#1860嵌入式开发

Download history 117/week @ 2024-04-01 56/week @ 2024-04-08 67/week @ 2024-04-15 88/week @ 2024-04-22 81/week @ 2024-04-29 58/week @ 2024-05-06 60/week @ 2024-05-13 67/week @ 2024-05-20 48/week @ 2024-05-27 62/week @ 2024-06-03 46/week @ 2024-06-10 62/week @ 2024-06-17 50/week @ 2024-06-24 7/week @ 2024-07-01 34/week @ 2024-07-08 47/week @ 2024-07-15

147每月下载量
用于 2 个库

MIT许可证

6KB

avr-config

Crates.io MIT licensed

这是一个用于在运行时检索详细信息(如CPU时钟频率)的基础库。

API文档

用法

将此内容添加到您的Cargo.toml

avr-config = "1.0"

功能

获取CPU时钟频率

可以使用CPU_FREQUENCY_HZ常量来获取AVR的目标时钟频率。这对应于在编译此库及其使用的AVR库时必须设置的$AVR_CPU_FREQUENCY_HZ环境变量。

fn main() {
    let prescaler = avr_config::CPU_FREQUENCY_HZ / 16;
}

编译器工具链本身并不了解或知道目标设备的CPU频率 - 这是一个用户级别的问题,只会影响用户代码(例如,用于定时休眠的忙等待延迟循环)。

此库并非严格必需以获取时钟频率 - 任何逻辑或环境变量都可以。然而,如果存在多种方法,那么为所有依赖库设置所需的时钟频率环境变量可能会出现问题,增加忘记一个或频率不一致的风险,导致依赖库以不同的速度执行。

此库旨在提供获取CPU频率作为整数的样板代码,并建立一种约定,即使用$AVR_CPU_FREQUENCY_HZ将目标频率传递给所有选择加入的AVR库。

依赖关系

~1.5MB
~35K SLoC