Struct rp2040_hal::timer::Alarm0
source · pub struct Alarm0(/* private fields */);
Expand description
An alarm that can be used to schedule events in the future. Alarms can also be configured to trigger interrupts.
Trait Implementations§
source§impl Alarm for Alarm0
impl Alarm for Alarm0
source§fn clear_interrupt(&mut self)
fn clear_interrupt(&mut self)
Clear the interrupt flag. This should be called after interrupt TIMER_IRQ_0
is called.
The interrupt is unable to trigger a 2nd time until this interrupt is cleared.
source§fn enable_interrupt(&mut self)
fn enable_interrupt(&mut self)
Enable this alarm to trigger an interrupt. This alarm will trigger TIMER_IRQ_0
.
After this interrupt is triggered, make sure to clear the interrupt with clear_interrupt.
source§fn disable_interrupt(&mut self)
fn disable_interrupt(&mut self)
Disable this alarm, preventing it from triggering an interrupt.
source§fn schedule(
&mut self,
countdown: MicrosDurationU32
) -> Result<(), ScheduleAlarmError>
fn schedule( &mut self, countdown: MicrosDurationU32 ) -> Result<(), ScheduleAlarmError>
Schedule the alarm to be finished after countdown
. If enable_interrupt is called,
this will trigger interrupt TIMER_IRQ_0
whenever this time elapses.
source§fn schedule_at(&mut self, timestamp: Instant) -> Result<(), ScheduleAlarmError>
fn schedule_at(&mut self, timestamp: Instant) -> Result<(), ScheduleAlarmError>
Schedule the alarm to be finished at the given timestamp. If enable_interrupt is
called, this will trigger interrupt TIMER_IRQ_0
whenever this timestamp is reached.
The RP2040 is unable to schedule an event taking place in more than
u32::max_value()
microseconds.
Auto Trait Implementations§
impl Freeze for Alarm0
impl RefUnwindSafe for Alarm0
impl Send for Alarm0
impl Sync for Alarm0
impl Unpin for Alarm0
impl UnwindSafe for Alarm0
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more