4 个版本 (2 个破坏性更新)
0.3.0 | 2022年10月12日 |
---|---|
0.2.1 | 2019年8月14日 |
0.2.0 | 2019年6月4日 |
0.1.0 | 2019年5月10日 |
#1939 在 嵌入式开发
27KB
203 代码行
CLosure INTerrupt handlers
此crate允许您在无堆栈、无 std 环境中使用闭包作为中断处理程序。
Cargo 功能
类型 HandlerTable
使用一个支持数组来存储闭包。要配置可用的槽位数,指定以下 cargo 功能之一:isr-8
、isr-16
、isr-32
、isr-64
、isr-128
或 isr-256
。默认情况下,有32个槽位可用。
示例代码
请参阅 examples
目录中的简单示例。
对于更复杂的示例,此仓库 使用 clint 在多个中断和异常中闪烁一些LED并测量温度。
lib.rs
:
CLosure INTerrupt handlers
使用闭包作为中断服务例程,利用 Rust 的借用检查器,在不锁定的情况下安全、独占地使用设备外设和其他数据。
布局
请参阅 array
模块的文档 以了解基本、安全的使用方法。
handler
模块包含底层的、不安全的实现。
临界区支持由 cs
模块提供。
依赖项
~175KB