SysTick系统定时器

1.为什么要用SysTick

看过我前面文章的友友们都知道,我发的STM32系列都是从初学者开始发的,而让led闪烁需要用到延时,由于才是初学,没学到系统延时函数就用了笨方法,定义一个很大的数写进循环,让CPU先执行自减操作,执行完需要花费一定时间,从而达到一个时间间隔的作用,但是这个是时间是不准确的,有时候运行快点就会让LED闪烁的快,LED闪烁受到CPU运行速度影响,使用我们现在就先来学习在裸机中应用较多的SysTick系统定时器的使用。

2.SysTick介绍

它是M3内核的一个外设,所有使用这个内核的芯片都有这个外设,它被嵌入在NVIC中,它是一个24位的向下递减计时器,它每计数一次花费九分之一微秒(1秒=1,000 毫秒 =1,000,000 微秒),也就是一微秒递减9次。通过查看递减次数就可以得到微秒级的时间。当它为0 的时候自动从LoAD中获取它的初值继续向下递减。递减到0的时候还会产生一个中断信号在我们的裸机开发当中会经常使用它做一个延时

3.SysTick定时器操作

如果你要使用中断,就要把TICKINT设置成1,计时结束后就会产生异常请求,产生中断。

CALIB基本不会用到

4.初始化SysTick实际操作流程

5.代码如下 :

这样就能精确的控制LED闪烁速度,可以精确到微秒级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值