libopencm3 Defined Constants and Types for the Cortex SysTick
More...
libopencm3 Defined Constants and Types for the Cortex SysTick
- Version
- 1.0.0
- Author
- © 2010 Thomas Otto tommi.nosp@m.@via.nosp@m.dmin..nosp@m.org
- Date
- 19 August 2012
System Control Space (SCS) => System timer register support in the SCS. To configure SysTick, load the interval required between SysTick events to the SysTick Reload Value register. The timer interrupt, or COUNTFLAG bit in the SysTick Control and Status register, is activated on the transition from 1 to 0, therefore it activates every n+1 clock ticks. If you require a period of 100, write 99 to the SysTick Reload Value register. The SysTick Reload Value register supports values between 0x1 and 0x00FFFFFF.
If you want to use SysTick to generate an event at a timed interval, for example 1ms, you can use the SysTick Calibration Value Register to scale your value for the Reload register. The SysTick Calibration Value Register is a read-only register that contains the number of pulses for a period of 10ms, in the TENMS field, bits[23:0].
This register also has a SKEW bit. Bit[30] == 1 indicates that the calibration for 10ms in the TENMS section is not exactly 10ms due to clock frequency. Bit[31] == 1 indicates that the reference clock is not provided.
LGPL License Terms libopencm3 License
◆ STK_CALIB
SysTick Calibration Value Register(Read Only) (CALIB) Reads the calibration value and parameters for SysTick.
Usage constraints: There are no usage constraints. Configurations Always implemented.
Definition at line 90 of file systick.h.
◆ STK_CSR
SysTick Control and Status Register (CSR).
Controls the system timer and provides status data. Usage constraints: There are no usage constraints. Configurations Always implemented.
Definition at line 66 of file systick.h.
◆ STK_CVR
SysTick Current Value Register (CVR).
Holds the current value of the counter. Usage constraints: There are no usage constraints. Configurations Always implemented.
Definition at line 83 of file systick.h.
◆ STK_RVR
SysTick Reload Value Register (RVR).
Reads or clears the value that will be loaded to the counter. Usage constraints:
- Any write to the register clears the register to zero.
- The counter does not provide read-modify-write protection.
- Unsupported bits are read as zero Configurations Always implemented.
Definition at line 76 of file systick.h.
◆ systick_clear()
void systick_clear |
( |
void |
| ) |
|
SysTick Clear counter Value.
The counter value is cleared. Useful for well defined startup.
Definition at line 187 of file systick.c.
References STK_CVR.
◆ systick_counter_disable()
void systick_counter_disable |
( |
void |
| ) |
|
◆ systick_counter_enable()
void systick_counter_enable |
( |
void |
| ) |
|
◆ systick_get_calib()
uint32_t systick_get_calib |
( |
void |
| ) |
|
◆ systick_get_countflag()
uint8_t systick_get_countflag |
( |
void |
| ) |
|
SysTick Read the Counter Flag.
The count flag is set when the timer count becomes zero, and is cleared when the flag is read.
- Returns
- Boolean if flag set.
Definition at line 176 of file systick.c.
References STK_CSR, and STK_CSR_COUNTFLAG.
◆ systick_get_reload()
uint32_t systick_get_reload |
( |
void |
| ) |
|
SysTick Read the Automatic Reload Value.
- Returns
- 24 bit reload value as uint32_t.
Definition at line 66 of file systick.c.
References STK_RVR, and STK_RVR_RELOAD.
◆ systick_get_value()
uint32_t systick_get_value |
( |
void |
| ) |
|
◆ systick_interrupt_disable()
void systick_interrupt_disable |
( |
void |
| ) |
|
◆ systick_interrupt_enable()
void systick_interrupt_enable |
( |
void |
| ) |
|
◆ systick_set_clocksource()
void systick_set_clocksource |
( |
uint8_t |
clocksource | ) |
|
◆ systick_set_frequency()
bool systick_set_frequency |
( |
uint32_t |
freq, |
|
|
uint32_t |
ahb |
|
) |
| |
◆ systick_set_reload()
void systick_set_reload |
( |
uint32_t |
value | ) |
|
SysTick Set the Automatic Reload Value.
The counter is set to the reload value when the counter starts and after it reaches zero.
- Note
- The systick counter value might be undefined upon startup. To get predictable behavior, it is a good idea to set or clear the counter after set reload.
- See also
- systick_clear
- Parameters
-
[in] | value | uint32_t. 24 bit reload value. |
Definition at line 55 of file systick.c.
References STK_RVR, and STK_RVR_RELOAD.
Referenced by systick_set_frequency().