Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0
120
3.7.3.2.1
Calculating the RELOAD Value
The RELOAD value can be any value in the range 0x00000001-0x00FFFFFF. A start value of 0 is possible,
but has no effect because the SysTick exception request and COUNTFLAG are activated when counting
from 1 to 0.
The RELOAD value is calculated according to its use. To generate a multi-shot timer with a period of N
processor clock cycles, use a RELOAD value of N-1. For example, if the SysTick interrupt is required
every 100 clock pulses, set RELOAD to 99.
3.7.3.3
SysTick Current Value Register
The SYST_CVR register contains the current value of the SysTick counter. See the register summary in
page 119 for its attributes. The bit assignments are:
Figure 48 •
SYST_CVR Register Bit Assignments
3.7.3.4
SysTick Calibration Value Register
The SYST_CALIB register indicates the SysTick calibration properties. See the register summary in
page 119 for its attributes. The bit assignments are:
Figure 49 •
SYST_CALIB Register Bit Assignments
[23:0]
RELOAD
Value to load into the SYST_CVR register when the counter is enabled and
when it reaches 0, see
Table 74 •
SYST_CVR Register Bit Assignments
Bits
Name
Function
[31:24]
Reserved.
[23:0]
CURRENT Reads return the current value of the SysTick counter.
A write of any value clears the field to 0, and also clears the SysTick
CTRL.COUNTFLAG bit to 0.
Table 75 •
SYST_CALIB Register Bit Assignments
Bits
Name
Function
[31]
NOREF
Reads as one. Indicates that no separate reference clock is provided.
[30]
SKEW
Reads as one. Calibration value for the 10ms inexact timing is not
known because TENMS is not known. This can affect the suitability of
SysTick as a software real time clock.
Table 73 •
SYST_RVR Register Bit Assignments
(continued)
Bits
Name
Function
&855(17
5HVHUYHG
7(106
5HVHUYHG
6.(:
125()