pub struct Delay<TIM, const FREQ: u32>(_);
Expand description

Periodic non-blocking timer that imlements embedded_hal::blocking::delay traits.

Example: Millisecond precision

To instantiate this with the TIM2 timer and millisecond precision:

let mut delay = dp.TIM2.delay_ms(&clocks);
delay.delay_ms(320_u32);

With millisecond precision, you can wait from 2 ms to 49 days.

Example: Microsecond precision

To instantiate this with the TIM5 timer and microsecond precision:

let delay = dp.TIM5.delay_us(&clocks);
delay.delay_us(30_u32);
delay.delay_ms(5_u32);
delay.delay(5.millis());
delay.delay(3.secs());

With microsecond precision, you can wait from 2 µs to 71 min.

Implementations

Sleep for given time

Releases the TIM peripheral

Methods from Deref<Target = FTimer<T, FREQ>>

Calculate prescaler depending on Clocks state

Starts listening for an event

Note, you will also have to enable the TIM2 interrupt in the NVIC to start receiving events.

Clears interrupt associated with event.

If the interrupt is not cleared, it will immediately retrigger after the ISR has finished.

Stops listening for an event

Trait Implementations

An error that might happen during waiting
Wait until timer duration has expired.

Sleep for ms milliseconds

Sleep for ms milliseconds

Sleep for ms milliseconds

Sleep for us microseconds

Sleep for us microseconds

Sleep for us microseconds

Enumeration of DelayUs errors
Pauses execution for at minimum us microseconds. Pause can be longer if the implementation requires it due to precision/timing issues. Read more
Pauses execution for at minimum ms milliseconds. Pause can be longer if the implementation requires it due to precision/timing issues. Read more
The resulting type after dereferencing.
Dereferences the value.
Mutably dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.