STM32学习笔记——使用SysTick定时器做延时

本文介绍了如何在STM32中使用SysTick定时器进行延时操作,针对3.5版固件库SysTick函数的变化,讲解了如何利用CMSIS中的函数设置SysTick时钟源和中断优先级,并给出了一段实现LED灯精确闪烁的程序代码示例。
摘要由CSDN通过智能技术生成

   开学了,无法再像假期一样能够一整天玩板了!好在这学期的课说少不少,说多也不多,每周也有十几大节。剩下的时间除去学生工作等一些七七八八的事情,间断着还是能看看教程玩玩板!越发发现《STM32菜鸟学习手册——啰嗦版》真是不错的入门教程,简单易懂。其他诸如《固件库手册》等等官方文件更是必不可少,可惜ST公司的网页找手册实在麻烦得很呐!

   这两天一直在看有关于系统嘀嗒时钟SysTick的文件,但由于3.5版的固件库较2.0版的库,已经将SysTick相关的驱动函数移除,用户要使用SysTick就必须改为调用CMSIS中的函数,而网上大多数的例程(包括《菜鸟学习手册》)使用的都是2.0的库,以至于在学习中遇到许多问题,程序编译总会出现问题。一般都是“无法找到与SysTick相关的函数,函数未定义”错误。因此,查找了许多文献才得以解决。

   SysTick定时器被捆绑在NVIC,用于产生SysTick异常(异常号:15)。主要应用于操作系统,作为“嘀嗒中断”维持操作系统“心跳”的节律。当然,SysTick定时器除了能服务于操作系统之外,还能用于其它目的:如作为一个闹铃,用于测量时间等。要注意的是,当处理器在调试期间被喊停(halt)时,则SysTick定时器亦将暂停运作。

1.SysTick寄存器:

寄存器

说明

地址

CTRL

SysTick控制和状态寄存器

0xE000E010

LOAD

Systick重装值寄存器

0xE000E014

VAL

Systick当前值寄存器

0xE000E018

CALIB

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值