手把手之STM32内核定时器

简介: ●什么是SysTick     SysTick是一个定时器,这个定时器的特殊之处在于,它是有内核来管理的,因此SysTick也被称作是内核定时器。它完全独立于STM32芯片,无论是哪款芯片都会有SysTick定时器只要芯片的内核一样,那么SysTick的使用方法就一样         ●SysTick的作用  对于STM32这样的高级芯片,我们可以给它搭载一个操作系统。

●什么是SysTick

    SysTick是一个定时器,这个定时器的特殊之处在于,它是有内核来管理的,因此SysTick也被称作是内核定时器。它完全独立于STM32芯片,无论是哪款芯片都会有SysTick定时器只要芯片的内核一样,那么SysTick的使用方法就一样        


SysTick的作用

 对于STM32这样的高级芯片,我们可以给它搭载一个操作系统。操作系统是有定时器的,那么操作系统的定时器就是基于SysTick来设计出来的。操作系统在设计定时器的时候无法估计它本身是搭载在哪一种芯片上的,而对于一个系列的芯片它们的内核是一样的,因此操作系统的定时器需要基于内核来设计。只有基于SysTick设计出来的操作系统才能移植到更多的芯片上。



CM4内核的SysTick

1、功能描述

SysTick被捆绑在NVIC中,用于产生SysTick异常,而且SysTick是一个倒数的定时器。


2、寄存器

SysTick_CTRL 控制和状态寄存器


  内部时钟是
AHB,外部时钟是AHB/8。关于FCLK和STCLK可以参考时钟树。

SysTick_LOAD 重载值寄存器


SysTick_VALUE 当前计数值寄存器



3、从手册到流程

    Systick是一个倒数的定时器,SysTick_VALUE代表当前的计数值是多少,一旦当前计数值为零,SysTick_LOAD的值就会自动重新装载到SysTick_VALUE。在计数为零的同时会产生一个标志,通过读取这个标志我们可以判断当前计数是否为零。在控制寄存器中还有一位是中断使能位,如果要使用中断功能,那么将这一位置1。另外systick有两个时钟可以选择,一个是AHB,另外一个是AHB/8。总结出systick的配置流程:

1)选择时钟源

2)设置重载值

3)清空当前值

4)使能中断(如果需要)

5)使能systick


4、从流程到代码




相关文章
|
传感器 存储
STM32--TIM定时器(3)
STM32--TIM定时器(3)
STM32--TIM定时器(3)
|
编解码 芯片
STM32--TIM定时器(2)
STM32--TIM定时器(2)
|
2月前
|
传感器
STM32--TIM定时器(1)
STM32--TIM定时器(1)
|
3月前
STM32F103标准外设库——SysTick系统定时器(八)
STM32F103标准外设库——SysTick系统定时器(八)
89 0
STM32F103标准外设库——SysTick系统定时器(八)
|
2月前
STM32定时器的使用
STM32定时器的使用
20 1
|
4月前
|
传感器 物联网 开发者
【STM32基础 CubeMX】定时器的使用
【STM32基础 CubeMX】定时器的使用
122 0
|
12月前
STM32定时器SysTick实现的延时函数
STM32定时器SysTick实现的延时函数
106 0
|
7月前
STM32速成笔记(六)—定时器
本文介绍了定时器的概念,作用。针对STM32F1的通用定时器做了详细介绍。此外,介绍了PWM的概念,用途以及STM32F1的PWM,给出了PWM频率的计算方法。最后通过介绍利用定时器的更新中断和PWM这两种方法实现呼吸灯,展示了定时器和PWM的配置步骤,并给出了详细的程序设计。另外,介绍了利用定时器实现按键长短按的检测方法。
118 0
STM32速成笔记(六)—定时器
|
10月前
STM32F103C8 TIM定时器中断
STM32F103C8 TIM定时器中断
109 0