aboutsummaryrefslogtreecommitdiff
path: root/examples/preempt.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-09-25 17:09:54 +0000
committerGitHub <noreply@github.com>2021-09-25 17:09:54 +0000
commitf0c319982524988fa67cac3c59a4a4a863c409c9 (patch)
treede4cbe4b43d399d4dcf2021c33225ccd00627434 /examples/preempt.rs
parentc8621d78b9b1c0c67dff31404ade873a9d7b426e (diff)
parentb71df58f2fb4ed85d4c8cf806d5837ce63c73f31 (diff)
Merge #528
528: The great 0.6 docs update r=AfoHT a=korken89 Closes #530 Closes #527 Closes #487 Closes #461 Closes #448 Closes #440 Closes #422 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Diffstat (limited to 'examples/preempt.rs')
-rw-r--r--examples/preempt.rs33
1 files changed, 16 insertions, 17 deletions
diff --git a/examples/preempt.rs b/examples/preempt.rs
index 8d9f9ea..d0c8cc7 100644
--- a/examples/preempt.rs
+++ b/examples/preempt.rs
@@ -6,10 +6,9 @@
use panic_semihosting as _;
use rtic::app;
-#[app(device = lm3s6965)]
+#[app(device = lm3s6965, dispatchers = [SSI0, QEI0])]
mod app {
use cortex_m_semihosting::{debug, hprintln};
- use lm3s6965::Interrupt;
#[shared]
struct Shared {}
@@ -19,28 +18,28 @@ mod app {
#[init]
fn init(_: init::Context) -> (Shared, Local, init::Monotonics) {
- rtic::pend(Interrupt::GPIOA);
+ foo::spawn().unwrap();
(Shared {}, Local {}, init::Monotonics())
}
- #[task(binds = GPIOA, priority = 1)]
- fn gpioa(_: gpioa::Context) {
- hprintln!("GPIOA - start").unwrap();
- rtic::pend(Interrupt::GPIOC);
- hprintln!("GPIOA - end").unwrap();
- debug::exit(debug::EXIT_SUCCESS);
+ #[task(priority = 1)]
+ fn foo(_: foo::Context) {
+ hprintln!("foo - start").unwrap();
+ baz::spawn().unwrap();
+ hprintln!("foo - end").unwrap();
+ debug::exit(debug::EXIT_SUCCESS); // Exit QEMU simulator
}
- #[task(binds = GPIOB, priority = 2)]
- fn gpiob(_: gpiob::Context) {
- hprintln!(" GPIOB").unwrap();
+ #[task(priority = 2)]
+ fn bar(_: bar::Context) {
+ hprintln!(" bar").unwrap();
}
- #[task(binds = GPIOC, priority = 2)]
- fn gpioc(_: gpioc::Context) {
- hprintln!(" GPIOC - start").unwrap();
- rtic::pend(Interrupt::GPIOB);
- hprintln!(" GPIOC - end").unwrap();
+ #[task(priority = 2)]
+ fn baz(_: baz::Context) {
+ hprintln!(" baz - start").unwrap();
+ bar::spawn().unwrap();
+ hprintln!(" baz - end").unwrap();
}
}