From 34c66fa78d700fa5ca324dd043dc0861694ea693 Mon Sep 17 00:00:00 2001 From: f_punk Date: Thu, 2 Sep 2021 12:02:31 +0200 Subject: removed type aliases NotAwaitable as default generic param added awaitable_timer example --- examples/nrf/src/bin/awaitable_timer.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 examples/nrf/src/bin/awaitable_timer.rs (limited to 'examples/nrf/src') diff --git a/examples/nrf/src/bin/awaitable_timer.rs b/examples/nrf/src/bin/awaitable_timer.rs new file mode 100644 index 000000000..289a33c71 --- /dev/null +++ b/examples/nrf/src/bin/awaitable_timer.rs @@ -0,0 +1,29 @@ +#![no_std] +#![no_main] +#![feature(type_alias_impl_trait)] +#![allow(incomplete_features)] + +#[path = "../example_common.rs"] +mod example_common; +use embassy_nrf::interrupt; +use embassy_nrf::timer::Timer; +use embassy_nrf::Peripherals; +use example_common::info; + +use embassy::executor::Spawner; + +#[embassy::main] +async fn main(_spawner: Spawner, p: Peripherals) { + let mut t = Timer::new_awaitable(p.TIMER0, interrupt::take!(TIMER0)); + // default frequency is 1MHz, so this triggers every second + t.cc(0).write(1_000_000); + // clear the timer value on cc[0] compare match + t.cc(0).short_compare_clear(); + t.start(); + + loop { + // wait for compare match + t.cc(0).wait().await; + info!("hardware timer tick"); + } +} -- cgit