IRQ – Utilities for writing Interrupt Handlers
This crate provides utilities for handling interrupts on embedded devices.
Please refer to the changelog to see what changed in the last releases.
Features
- Dynamically and atomically registered, zero-allocation interrupt handlers.
- Allows moving data into interrupt handlers, and sharing data between handlers.
- Completely platform agnostic, does not require atomic swap operations (works on eg. thumbv6 targets).
Usage
Add an entry to your Cargo.toml
:
[]
= "0.2.1"
Check the API Documentation for how to use the crate's functionality. A small example showcasing the Scoped Interrupts API is provided below:
use ;
use interrupt;
// Hook `INT0` and `INT1` using the `#[interrupt]` attribute imported above.
scoped_interrupts!
Rust version support
This crate targets stable Rust. No guarantees are made beyond that, so the minimum supported version might be bumped as needed.
The MSRV is also explicitly tested against in .travis.yml.