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