stm32实现Systick的毫秒级延时和微妙级延时

本文介绍了STM32中如何使用Systick系统定时器实现毫秒级和微秒级延时。首先讲解了Systick的工作原理,包括其24位递减计数器特性。接着详细阐述了毫秒级延时的实现,通过配置Systick的重装载寄存器以达到每1ms中断一次的效果。最后提到了使用TIM6基本定时器实现微秒级延时,通过预分频和设置自动重装载寄存器值来达到所需精度。
摘要由CSDN通过智能技术生成

学习目标:

stm32实现Systick的毫秒级延时和微妙级延时


学习内容:

1、Systick 工作原理

Systick(系统定时器)是ARM Cortex M3/M4 内核的一个外设,因为所有的CM3/M4内核的单片机都带有这个定时器,这使得软件在CM3/M4单片机中可以很容被移植。系统定时器一般用于单片机操作系统产生时间,维持os的心跳和实现任务分时调度等,Systick 定时器是如此的重要,以至于CM3/M4为它专门开出一个异常类型,并且在向量表中有它的一席之地。
Systick是一个24位的向下递的计数器,每当Systick 从时钟源到来一个时钟,其值就会减1,而一般我们将Systick 的时钟源设置为系统时钟 HCLK(72MHz),这样也就意味着每过1/72M秒Systick里的计数器将会减1,当重装载数值寄存器里的值递减为 0 的时候,系统定时器就会产生一次中断,这样就有时间了。之后CPU自动重新装载计数器值并逐渐递减循环往复。
在这里插入图片描述

2、毫秒级延时的实现

Systick上电初始化(外部晶振还没开始工作,此时系统默认使用内部 HSI提供时钟源)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

.3

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

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

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

打赏作者

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

抵扣说明:

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

余额充值