Stm32中的SysTick系统定时器

对SysTick系统外设的总结

介绍

SysTick外设不同于之前的EXTI等等片上外设。它是位于内核的外设,并且其内嵌在NVIC中。

系统定时器中有四个寄存器,当重装载数值寄存器的值递减到0的时候,系统定时器就产生一次中断,以此循环往复。

因为SysTick是属于CM3内核的外设,所以所有基于CM3内核的单片机都具有这个系统定时器,使得软件在CM3单片机中可以很容易的移植。 系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。

SysTick中的四个寄存器:

其中只有前三个是需要配置的,最后一个不需要配置。

编程要点

1
2
3
4
5
6
7
8
9
10
11
12
13
void SysTick_Init(void)
{
if(SysTick_config(SystemCoreClock/1000))//1ms的时基
for(;;);
}

_IO uint32_t TimingDelay;

void delay_ms(_IO uint32_t ntime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
}

Stm32中的SysTick系统定时器
https://ysc2.github.io/ysc2.github.io/2023/11/20/stm32中的SysTick系统定时器/
作者
Ysc
发布于
2023年11月20日
许可协议