参考的一篇写的比较细节的文章:
https://blog.csdn.net/Oscar330621/article/details/122764140
什么是sysTick、RTC
sysTick,System Tick Clock,系统滴答计时器,这是一个内嵌在NVIC的内核外设,一般被配置成1ms计数。
RTC,Real Time Clock,实时时钟,这是
从名字可以看出,他的作用与定时器非常类似,事实上这就是一个具有自动重载和溢出中断功能的24位系统节拍计时器,因此很多人都会有这样的疑惑,
stm32有多个外部定时器,为什么还要有systick?
作者在这里总结了以下几个原因。
systick是内嵌在内核的,因此所有基于Cortex-M3内核的MCU都可以使用该定时器,大大提高了可移植性;而不同单片机的外部定时器,其寄存器地址和可配置参数往往是不同的,每次移植都需要重新配置定时器。
systick被广泛应用于RTOS或者类似需要调度的应用中。在单片机中,并行任务往往是由调度器在串行任务中模拟实现的,可以这样理解,每个进程在执行到一定阶段会调用一次调度器,一次来实现任务切换,但如果在执行到调用调度器前任务出错导致卡死;而sysTick是独立工作的,即使在进入单步调试的时候,sysTick也不会停止工作,大大降低了系统奔溃的可能性。
sysTick可以在主电源断电的情况下继续工作,相当于万年历的功能。