SysTick是Cortex-M内核自带的一个24位定时器,所以我们可以在core_cm3.h或core_cm4.h头文件中看到它的寄存器定义和配置函数SysTick_Config()。SysTick的功能非常简单,仅仅提供一个时基功能,支持中断请求,因此它的寄存器寥寥无几。
以下是手册上对SysTick寄存器的介绍:
CTRL为控制寄存器:
ENABLE:使能位
TICKINT: 中断的开关,当计数溢出且TICKINT=1时SysTick将发出中断申请。
CLKSOURCE:时钟选择位,CLKSOURCE=1时选择系统时钟,如果是M3则为72MHz,M4则为168MHz。否侧选择外部时钟作为时钟源。
COUNTFLAG: 溢出标志位,计数到0时置1,而且硬件自动清零。