Struct rp2040_hal::timer::Alarm1
source · pub struct Alarm1(/* 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 Alarm1
impl Alarm for Alarm1
source§fn clear_interrupt(&mut self)
fn clear_interrupt(&mut self)
Clear the interrupt flag. This should be called after interrupt TIMER_IRQ_1
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_1
.
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_1
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_1
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 Alarm1
impl RefUnwindSafe for Alarm1
impl Send for Alarm1
impl Sync for Alarm1
impl Unpin for Alarm1
impl UnwindSafe for Alarm1
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