Struct nrf51_hal::Rtc

source ·
pub struct Rtc<T> { /* private fields */ }
Expand description

An opaque high level interface to an RTC peripheral.

Implementations§

source§

impl<T> Rtc<T>
where T: Instance,

source

pub fn new(rtc: T, prescaler: u32) -> Result<Rtc<T>, Error>

Creates a new RTC peripheral instance with a 12 bits prescaler. fRTC = 32_768 / (prescaler + 1 )

source

pub fn enable_counter(&self)

Enable/start the Real Time Counter.

source

pub fn disable_counter(&self)

Disable/stop the Real Time Counter.

source

pub fn enable_interrupt(&mut self, int: RtcInterrupt, nvic: Option<&mut NVIC>)

Enable the generation of a hardware interrupt from a given stimulus.

If access to the NVIC is not provided, the interrupt must ALSO be enabled there outside of this function (e.g. manually call nvic.enable, or through the use of RTIC).

source

pub fn disable_interrupt(&mut self, int: RtcInterrupt, nvic: Option<&mut NVIC>)

Disable the generation of a hardware interrupt from a given stimulus.

If access to the NVIC is not provided, the interrupt must ALSO be disabled there outside of this function (e.g. manually call nvic.disable, or through the use of RTIC).

source

pub fn enable_event(&mut self, evt: RtcInterrupt)

Enable the generation of a hardware event from a given stimulus.

source

pub fn disable_event(&mut self, evt: RtcInterrupt)

Disables the generation of a hardware event from a given stimulus.

source

pub fn is_event_triggered(&self, evt: RtcInterrupt) -> bool

Checks if the given event has been triggered.

source

pub fn reset_event(&self, evt: RtcInterrupt)

Resets the given event.

source

pub fn set_compare(&mut self, reg: RtcCompareReg, val: u32) -> Result<(), Error>

Set the compare value of a given register. The compare registers have a width of 24 bits.

source

pub fn get_counter(&self) -> u32

Obtain the current value of the Real Time Counter, 24 bits of range.

source

pub fn clear_counter(&self)

Clear the Real Time Counter.

source

pub fn trigger_overflow(&self)

Sets the Real Time Counter value to 0xFFFFF0, to allow tests of the overflow condition. The overflow event occurs when the Real Time Counter overflows from 0xFFFFFF to 0.

source

pub fn release(self) -> T

Destructure the high level interface. Does not reset any configuration made to the given RTC peripheral.

Auto Trait Implementations§

§

impl<T> Freeze for Rtc<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Rtc<T>
where T: RefUnwindSafe,

§

impl<T> Send for Rtc<T>
where T: Send,

§

impl<T> Sync for Rtc<T>
where T: Sync,

§

impl<T> Unpin for Rtc<T>
where T: Unpin,

§

impl<T> UnwindSafe for Rtc<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Az for T

source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

source§

fn cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> CheckedAs for T

source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

source§

fn lossy_into(self) -> Dst

Performs the conversion.
source§

impl<T> OverflowingAs for T

source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatingAs for T

source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> UnwrappedAs for T

source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
source§

impl<T> WrappingAs for T

source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.