#mmio #register #abstraction #gpio #fields #read

no-std ral-registers

基于宏API的MMIO寄存器抽象

4个版本

0.1.3 2023年6月18日
0.1.2 2023年1月3日
0.1.1 2021年9月29日
0.1.0 2021年8月15日

#1597 in 嵌入式开发

Download history 1770/week @ 2024-04-20 1599/week @ 2024-04-27 1672/week @ 2024-05-04 833/week @ 2024-05-11 1785/week @ 2024-05-18 2604/week @ 2024-05-25 1657/week @ 2024-06-01 1307/week @ 2024-06-08 1311/week @ 2024-06-15 1788/week @ 2024-06-22 1420/week @ 2024-06-29 1142/week @ 2024-07-06 2445/week @ 2024-07-13 1901/week @ 2024-07-20 2277/week @ 2024-07-27 2517/week @ 2024-08-03

9,348 每月下载量
19 个Crates中使用 (9 直接使用)

MIT/Apache

31KB
155

ral-registers

Version Documentation CI License

此crate包含一个使用宏来读取、修改和写入寄存器字段的MMIO抽象。

例如,可以使用以下方法更新寄存器上的几个字段(而不改变其他字段)

// Modify some fields on GPIOA.MODER without changing others.
modify_reg!(gpio, GPIOA, MODER, MODER1: Input, MODER2: Output, MODER3: Input);

// Check a condition on a field.
while read_reg!(gpio, GPIOA, IDR, IDR3 == High) {}

// Read and write the entire register word value.
let port = read_reg!(gpio, GPIOA, IDR);
write_reg!(gpio, GPIOA, port);

此crate包含最初用stm32ral编写的寄存器代码,提取出来以方便在其他项目中使用。

许可证

许可协议为以下两种之一

任选其一。

贡献

除非你明确表示,否则任何旨在包含在作品中并由你提交的故意贡献,根据Apache-2.0许可证的定义,将按照上述双重许可,不附加任何额外条款或条件。

无运行时依赖