天天看点

STM32 systick简介

systick(系统定时器)是CM3内核中的一个外设,内嵌在NVIC中,是24位的向下递减计数器。

与其相关的库函数:

1.static __INLINE uint32_t SysTick_Config(uint32_t ticks)

该函数在core_cm3.h中,设置了systick的重载值,NVIC中断分组,使能定时器及其中断。

一般设置systick为72MHz,所以当形参ticks设置为72时,中断一次的时间为72/72M = 1us。

2.void SysTick_Handler(void)

这是systick的中断响应函数。

用systick产生延时函数时,有两种方法:

1.中断方法。例如让systick每次定时1ms,定义一个进入中断的标志位,进入50次,就是50ms.

2.查询方法。定时初值设置好后,查询SysTick的CTRL寄存器的第16位是否为1,为1就说明一次计时结束。