NVIC
Systick 滴答定时器
STM32F1 使用 Cortex-M3 内核
STM32F4 使用 Cortex-M4F 内核
SysTick 定时器位于在 NVIC 中,用于产生 SYSTICK 异常,常用作 RTOS 和 Linux 操作系统的时基,在裸机中用于延时。
24位递减计数器,具有自动重载值寄存器的功能。
在STM32中,Systick通常以HCLK(AHB时钟)或HCLK/8作为运行时钟。
SysTick控制及状态寄存器(CTRL)
SysTick重装载数值寄存器(LOAD)
SysTick当前数值寄存器(VAL)
SysTick校准数值寄存器(CALIB)

ENABLE:1使能
CLKSOURCE:时钟来源。
0:外部时钟。且只能是CPU时钟的8分频
1:CPU时钟
TICKINT:
0:VAL寄存器减到0时不触发异常
1:VAL寄存器减到0时触发异常
COUNTFLAG:

若选择8分频。则时钟 72 MHz / 8 = 9MHz
定时秒:
定时时间 t(单位s) = 重装载值 * (1 / 9x10^6)
重装载值 = 定时时间 t * 9x10^6
定时ms:
定时us:
1 / 9MHz 即记一个数所需要的时间,单位是s。



在 stm32f1xx_hal.c 文件中配置中断触发时间
关于Systick定时器的寄存器说明以及函数接口都存储在内核文件misc.c以及misc.h,同时在core_cm4.h页定了关于Systick定时器的内容。