STM32系统定时器-SysTick

本文介绍了SysTick系统定时器的基本概念及其在CM3内核中的应用。详细讲解了SysTick定时器的四个寄存器的功能,以及如何通过配置这些寄存器实现定时功能。此外,还介绍了SysTick中断时间的计算方法。

SysTick-系统定时器是CM3内核中的一个外设,内嵌在NVIC中,所有基于CM3内核的单片机都具有这个系统定时器,系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。系统定时器是一个24bit的向下递减的计数器,计数器计数一次的时间为1/SYSCLK,一般我们设置系统时钟SYSCLK等于72M。

因为SysTick属于内核外设,跟普通外设的中断优先级有区别,并没有抢占优先级和子优先级的说法,内核外设的中断优先级由内核SCB这个外设寄存器配置。

1.SYSTick寄存器介绍

系统定时器有4个寄存器,使用SysTick产生定时时候,只需要配置前面三个,最后一个校准寄存器不需要使用。

寄存器名称寄存器描述
CTRL

SysTick控制及状态寄存器

LOADSysTick重装载数值寄存器
VALSysTick当前数值寄存器
CALIBSysTick校准数值寄存器

SysTick控制及状态寄存器

位段名称类型复位值描述
16COUNTFLAGR/W0
如果在上次读取本寄存器后,SysTick 已经计到了 0,则该位为 1
2CLKSOURCER/W0
时钟源选择位,0=AHB/81=处理器时钟 AHB
1TICKINTR/W0
1=SysTick 倒数计数到 0 时产生 SysTick 异常请求,0=数到 0 时无动作。也可以通过读取COUNTFLAG 标志位来确定计数器是否递减到0
0ENABLER/W0
SysTick 定时器的使能位

 

2.SysTick中断时间的计算

3.SysTick定时

  • 设置重装载寄存器的值
  • 清除当前数值寄存器的值
  • 配置控制与状态寄存器的值

可由HAL_SYSTICK_Config函数直接配置,在中断服务器函数SysTick_Handler进行更大时间的定时计算。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值