}
1.SysTick定时器简介
在ARM Cortex-M3内核中有一个Systick定时器,它是一个24位的倒计数定时器,当计数到0时,它就会从Load寄存器中自动重装定时初值。
STM32Reference manual原文为
RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。 通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex(HCLK)时钟作为SysTick时钟。ADC时钟由高速APB2时钟经2、4、6或8分频后获得。
英文版为STM32Reference manual Rev 21
The RCC feeds the Cortex® System Timer (SysTick) external clock with the AHB clock (HCLK) divided by 8. The SysTick can work either with this clock or with the Cortex® clock (HCLK), configurable in the SysTick Control and Status register. The ADCs are clocked by the clock of the High Speed domain (APB2) divided by 2, 4, 6 or 8.
如上图及文字所示,SysTick定时器的时钟源有两个,一个是HCLK经过8分频后的时钟–>HCLK/8(实际就是72MHZ/8 = 9MHZ),另一个一个是没有分频HCLK的时钟—>HCLK(72MHZ)
在misc.h文件P172行有SysTick_clock_source时钟源的宏定义!
//misc.h文件P172行处
/** @defgroup SysTick_cl
ock_source
* @{
*/
#define SysTick_CLKSource_HCLK_Div8 ((u