diff options
Diffstat (limited to 'examples/src/bin/multiprio.rs')
| -rw-r--r-- | examples/src/bin/multiprio.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/examples/src/bin/multiprio.rs b/examples/src/bin/multiprio.rs index dbca491e0..e73747ac6 100644 --- a/examples/src/bin/multiprio.rs +++ b/examples/src/bin/multiprio.rs | |||
| @@ -120,7 +120,7 @@ static EXECUTOR_HIGH: Forever<TimerExecutor<rtc::Alarm<pac::RTC1>>> = Forever::n | |||
| 120 | fn main() -> ! { | 120 | fn main() -> ! { |
| 121 | info!("Hello World!"); | 121 | info!("Hello World!"); |
| 122 | 122 | ||
| 123 | let p = embassy_nrf::pac::Peripherals::take().dewrap(); | 123 | let p = unwrap!(embassy_nrf::pac::Peripherals::take()); |
| 124 | 124 | ||
| 125 | clocks::Clocks::new(p.CLOCK) | 125 | clocks::Clocks::new(p.CLOCK) |
| 126 | .enable_ext_hfosc() | 126 | .enable_ext_hfosc() |
| @@ -132,17 +132,21 @@ fn main() -> ! { | |||
| 132 | unsafe { embassy::time::set_clock(rtc) }; | 132 | unsafe { embassy::time::set_clock(rtc) }; |
| 133 | 133 | ||
| 134 | let executor_low = EXECUTOR_LOW.put(TimerExecutor::new(rtc.alarm0(), cortex_m::asm::sev)); | 134 | let executor_low = EXECUTOR_LOW.put(TimerExecutor::new(rtc.alarm0(), cortex_m::asm::sev)); |
| 135 | let executor_med = EXECUTOR_MED.put(TimerExecutor::new(rtc.alarm1(), cortex_m::asm::sev)); | 135 | let executor_med = EXECUTOR_MED.put(TimerExecutor::new(rtc.alarm1(), || { |
| 136 | let executor_high = EXECUTOR_HIGH.put(TimerExecutor::new(rtc.alarm2(), cortex_m::asm::sev)); | 136 | interrupt::pend(interrupt::SWI0_EGU0) |
| 137 | })); | ||
| 138 | let executor_high = EXECUTOR_HIGH.put(TimerExecutor::new(rtc.alarm2(), || { | ||
| 139 | interrupt::pend(interrupt::SWI1_EGU1) | ||
| 140 | })); | ||
| 137 | 141 | ||
| 138 | interrupt::set_priority(interrupt::SWI0_EGU0, interrupt::Priority::Level7); | 142 | interrupt::set_priority(interrupt::SWI0_EGU0, interrupt::Priority::Level7); |
| 139 | interrupt::set_priority(interrupt::SWI1_EGU1, interrupt::Priority::Level6); | 143 | interrupt::set_priority(interrupt::SWI1_EGU1, interrupt::Priority::Level6); |
| 140 | interrupt::enable(interrupt::SWI0_EGU0); | 144 | interrupt::enable(interrupt::SWI0_EGU0); |
| 141 | interrupt::enable(interrupt::SWI1_EGU1); | 145 | interrupt::enable(interrupt::SWI1_EGU1); |
| 142 | 146 | ||
| 143 | executor_low.spawn(run_low()).dewrap(); | 147 | unwrap!(executor_low.spawn(run_low())); |
| 144 | executor_med.spawn(run_med()).dewrap(); | 148 | unwrap!(executor_med.spawn(run_med())); |
| 145 | executor_high.spawn(run_high()).dewrap(); | 149 | unwrap!(executor_high.spawn(run_high())); |
| 146 | 150 | ||
| 147 | loop { | 151 | loop { |
| 148 | executor_low.run(); | 152 | executor_low.run(); |
