STM32F103系统滴答计时器

1. SysTick概述

SysTick即为系统定时器,又称嘀嗒定时器,是Cortex-M3内核的一个外设,集成在NVIC中。Systick定时器是一个24位的倒计数定时器,从预装值(自己设置的)一直计数到0时,然后再将从重装载寄存器中自动重装载定时初值。只要不把它使能位清除,那么它就永远不停,即使在芯片在睡眠模式下也能工作。每计数一次的时间为1/SYSCLK分别是内部时钟(FCLK 自由运行时钟,等于系统总线时钟HCLK72MHZ)和外部时钟(STCLK Cortex系统定时器时钟,等于系统总线时钟HCLK的8分频 9MHZ)。
操作系统需要执行多任务管理,用SysTick产生中断,确保单个任务不会锁定整个系统。同时SysTick还可用于闹钟定时、时间测量等。
1.1、 Systick定时器内部框图

在这里插入图片描述

2、相关寄存器

在这里插入图片描述

2.1、控制及状态寄存器(SysTick->CTRL)
寄存器作用:设置SysTick定时器的工作模式位31:17 保留,必须保持复位值。
位16 COUNTFLAG:到0标志位
当SysTick定时器的计数值倒计数到0时,该位会被硬件自动置1。如果我们读取该位,会得到目前的状态,然后此位会被自动清0。
位15:3 保留,必须保持复位值。
位2 CLKSOURCE:SysTick时钟源输入选择
0:选择外部时钟作为计数脉冲的参考时钟(SysClk/8)
1:选择系统时钟作为计数脉冲(SysClk)
位1 TICKINT:SysTick中断使能
0:禁止产生SysTick中断
1:允许产生SysTick中断
位0 ENABLE:SysTick使能
0:关闭SysTick定时器
1:开启SysTick定时器

2.2 自动重装载数据寄存器(SysTick->LOAD)
寄存器作用:存放重装载SysTick定时器计数初值
在这里插入图片描述

2.3、 当前值寄存器(SysTick->VAL)

寄存器作用:SysTick定时器倒计数寄存器。读取时返回当前倒计数的值,对这个寄存器进行写操作,则使之清零,并对到零标志位清零。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梨花落-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值