mirror of
https://github.com/rtic-rs/rtic.git
synced 2025-12-19 22:35:19 +01:00
The great docs update
This commit is contained in:
parent
c8621d78b9
commit
b71df58f2f
106 changed files with 1286 additions and 1429 deletions
24
book/en/src/by-example/hardware_tasks.md
Normal file
24
book/en/src/by-example/hardware_tasks.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Hardware tasks
|
||||
|
||||
To declare interrupt handlers the `#[task]` attribute takes a `binds = InterruptName` argument whose
|
||||
value is the name of the interrupt to which the handler will be bound to; the
|
||||
function used with this attribute becomes the interrupt handler. Within the
|
||||
framework these type of tasks are referred to as *hardware* tasks, because they
|
||||
start executing in reaction to a hardware event.
|
||||
|
||||
Providing an interrupt name that does not exist will cause a compile error to help with accidental
|
||||
errors.
|
||||
|
||||
The example below demonstrates the use of the `#[task]` attribute to declare an
|
||||
interrupt handler. Like in the case of `#[init]` and `#[idle]` local `static
|
||||
mut` variables are safe to use within a hardware task.
|
||||
|
||||
``` rust
|
||||
{{#include ../../../../examples/hardware.rs}}
|
||||
```
|
||||
|
||||
``` console
|
||||
$ cargo run --target thumbv7m-none-eabi --example hardware
|
||||
{{#include ../../../../ci/expected/hardware.run}}
|
||||
```
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue