7.7.1 节拍定时器SysTick简介
在ARM Cortex-M3内核中,有一个24位的节拍定时器SysTick,其计数方式为向下计数,该定时器通常被用于RTOS的心跳计时,若无RTOS,也可作为普通定时器使用。
1.SysTick的工作原理
SysTick的时钟源默认来自HCLK的8分频(也可以配置为不分频),如系统时钟为72 MHz,则SysTick的时钟为9 MHz。计数器从初始值减计数,当计到0时,将从RELOAD寄存器中自动重载定时初值,只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。SysTick计满后会产生中断,其中断向量位于系统向量表中,优先级数值为负值,不能修改。
2.SysTick相关的HAL库函数(https://www.daowen.com)
SysTick相关的HAL库函数在文件“stm32f1xx_hal_cortex.c/h”中,如表7.16所示。对SysTick的操作有初始化函数、基准时钟配置函数和中断相关函数。
表7.16 SysTick相关的HAL库函数
