Struct nrf52833_hal::pac::SYST [−]
pub struct SYST { /* fields omitted */ }
Expand description
SysTick: System Timer
Implementations
impl SYST
impl SYST
pub fn clear_current(&mut self)
pub fn clear_current(&mut self)
Clears current value to 0
After calling clear_current()
, the next call to has_wrapped()
will return false
.
pub fn disable_counter(&mut self)
pub fn disable_counter(&mut self)
Disables counter
pub fn disable_interrupt(&mut self)
pub fn disable_interrupt(&mut self)
Disables SysTick interrupt
pub fn enable_counter(&mut self)
pub fn enable_counter(&mut self)
Enables counter
NOTE The reference manual indicates that:
“The SysTick counter reload and current value are undefined at reset, the correct initialization sequence for the SysTick counter is:
- Program reload value
- Clear current value
- Program Control and Status register“
The sequence translates to self.set_reload(x); self.clear_current(); self.enable_counter()
pub fn enable_interrupt(&mut self)
pub fn enable_interrupt(&mut self)
Enables SysTick interrupt
pub fn get_clock_source(&mut self) -> SystClkSource
pub fn get_clock_source(&mut self) -> SystClkSource
Gets clock source
NOTE This takes &mut self
because the read operation is side effectful and can clear the
bit that indicates that the timer has wrapped (cf. SYST.has_wrapped
)
pub fn get_current() -> u32
pub fn get_current() -> u32
Gets current value
pub fn get_reload() -> u32
pub fn get_reload() -> u32
Gets reload value
pub fn get_ticks_per_10ms() -> u32
pub fn get_ticks_per_10ms() -> u32
Returns the reload value with which the counter would wrap once per 10 ms
Returns 0
if the value is not known (e.g. because the clock can
change dynamically).
pub fn has_reference_clock() -> bool
pub fn has_reference_clock() -> bool
Checks if an external reference clock is available
pub fn has_wrapped(&mut self) -> bool
pub fn has_wrapped(&mut self) -> bool
Checks if the counter wrapped (underflowed) since the last check
NOTE This takes &mut self
because the read operation is side effectful and will clear
the bit of the read register.
pub fn is_counter_enabled(&mut self) -> bool
pub fn is_counter_enabled(&mut self) -> bool
Checks if counter is enabled
NOTE This takes &mut self
because the read operation is side effectful and can clear the
bit that indicates that the timer has wrapped (cf. SYST.has_wrapped
)
pub fn is_interrupt_enabled(&mut self) -> bool
pub fn is_interrupt_enabled(&mut self) -> bool
Checks if SysTick interrupt is enabled
NOTE This takes &mut self
because the read operation is side effectful and can clear the
bit that indicates that the timer has wrapped (cf. SYST.has_wrapped
)
pub fn is_precise() -> bool
pub fn is_precise() -> bool
Checks if the calibration value is precise
Returns false
if using the reload value returned by
get_ticks_per_10ms()
may result in a period significantly deviating
from 10 ms.
pub fn set_clock_source(&mut self, clk_source: SystClkSource)
pub fn set_clock_source(&mut self, clk_source: SystClkSource)
Sets clock source
pub fn set_reload(&mut self, value: u32)
pub fn set_reload(&mut self, value: u32)
Sets reload value
Valid values are between 1
and 0x00ffffff
.
NOTE To make the timer wrap every N
ticks set the reload value to N - 1
impl SYST
impl SYST
Trait Implementations
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more
Casts the value.
Performs the conversion.
Performs the conversion.
Casts the value.
Casts the value.
Casts the value.
Casts the value.