天天看點

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就說明一次計時結束。