学习笔记——使用嘀嗒定时器实现delay功能

本文详细介绍了Cortex-M3处理器中的SysTick定时器,包括其作为24位倒计时器的工作原理,COUNTFLAG和TICKINT等控制寄存器的功能,以及RELOAD和VAL寄存器的使用。重点强调了定时器的持续计数和使能特性。
摘要由CSDN通过智能技术生成

Cortex-M3内核的处理器内部包含了一个SysTick定时器

sysTick是一个24位的倒计数定时器,当计数到0时则从RELOAD寄存器中自动重装载定时器的值开始新一轮计数。只要不把它在Systick控制及状态寄存器中的使能位清除,就永不停息。

以上文字说明了SysTick定时器的几个特点:

  1.它是一个倒计数定时器。(最大值不能超过24位)

 2.如果不置零使能位,定时器将一直循环。

systick->CTRL寄存器各位定义

位段

名称

类型

复位值

描述

16

COUNTFLAG

R

0

如果在上次读取本寄存器后,SysTick已经数到了0,则该位为1,如果读取该位,则该位自动清零。

2

CLKSOURCE

R/W

0

0=外部时钟源(STCLK)

1=内部时钟(FCLK)

1

TICKINT

R/W

0

1=SysTick倒数到0时产生SysTick异常请求

0=数到0时无动作

0

ENABLE

R/W

0

SysTick定时器的使能位

SysTick->LOAD  寄存器各位定义

位段

名称

类型

复位值

描述

23:0

RELOAD

R/W

0

当倒数至0时,将被重新装载的值

sysTick->VAL寄存器各位定义

位段

名称

类型

复位值

描述

23:0

CURRENT

R/Wc

0

读取时返回当前倒计数的值,写它则使之清零,同时还会清除在SysTick控制及状态寄存器种的COUNTGFLSAG标志

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值