mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-11-24 04:32:52 +01:00
36 lines
692 B
Rust
36 lines
692 B
Rust
#![no_main]
|
|
#![no_std]
|
|
|
|
use panic_halt as _;
|
|
|
|
#[rtic::app(cores = 2, device = homogeneous, monotonic = homogeneous::MT)]
|
|
const APP: () = {
|
|
#[init(core = 0, spawn = [ping])]
|
|
fn init(c: init::Context) {
|
|
c.spawn.ping().ok();
|
|
}
|
|
|
|
#[task(core = 0, schedule = [ping])]
|
|
fn pong(c: pong::Context) {
|
|
c.schedule.ping(c.scheduled + 1_000_000).ok();
|
|
}
|
|
|
|
#[task(core = 1, schedule = [pong])]
|
|
fn ping(c: ping::Context) {
|
|
c.schedule.pong(c.scheduled + 1_000_000).ok();
|
|
}
|
|
|
|
extern "C" {
|
|
#[core = 0]
|
|
fn I0();
|
|
|
|
#[core = 0]
|
|
fn I1();
|
|
|
|
#[core = 1]
|
|
fn I0();
|
|
|
|
#[core = 1]
|
|
fn I1();
|
|
}
|
|
};
|