1 实验目的

(1) 理解滴答定时器SysTick 定时器的工作原理;

(2) 学会使用中断函数。

2 实验任务

(1) 编写 SysTick 定时器初始化程序;

(2) 编写 SysTick 定时器的中断服务函数。

3 实验说明

(1) SysTick 定时器,是一个简单的定时器,对于 CM3,CM4 内核芯片,都

有 SysTick 定时器。SysTick 定时器就是系统滴答定时器,一个 24 位的倒计数定

时器,计到 0 时,将从 RELOAD 寄存器中自动重新装载定时初值。只要不把它

在 SysTick 控制及状态寄存器中的使能位清除,就永不停息,即使在睡眠模式下

也能工作。SysTick 定时器常用来做延时,或者实时系统的心跳时钟。这样可以

节省 MCU 资源,不用浪费一个定时器。比如 UCOS 中,分时复用,需要一个最

小的时间戳,一般在 STM32+UCOS 系统中,都采用SysTick 做 UCOS 心跳时钟。

(2) SysTick_CLKSourceConfig()// SysTick 时钟源选择 misc.c 文件中

SysTick_Config(uint32_t ticks)//初始化 SysTick,时钟为 HCLK,并开启中断。

以上就是滴答定时器常用的库函数了,第一个函数为滴答器选择时钟源。时

钟源的选择有以下两种:内部时钟源 SysTick_CLKSource_HCLK 和以及外部时

钟源 SysTick_CLKSource_HCLK_Div8,后者为前者的八分之一。

假如SysTick_CLKSource_HCLK为72MHz,那么SysTick_CLKSource_HCLK

_Div8 为 9MHz。前面提到滴答定时器其实是一个 24 位递减的定时器。第二个函

数用来初始化滴答定时器,也就是为其设置初值。

系统滴答定时器的应用相关推荐

  1. STM32系统滴答定时器(systick)应用

    一:系统滴答定时器(systick) 1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断).滴答中断?这里来 ...

  2. stm32系统滴答定时器使用

     STM32菜鸟成长记录---系统滴答定时器(systick)应用 标签: delay任务测试reference编译器工作 2012-08-19 22:55 47395人阅读 评论(4) 收藏 举 ...

  3. stm32滴答计时器_stm32中的系统滴答定时器使用

    系统滴答定时器对于stm32的初学者来说还是非常重要的,因为随着你学习的深入编程过程中肯定会调用延时函数,比如我之前的一些gpio相关的实验中.那么延时函数的编写也是几种方法的,一般开始接触都是让系统 ...

  4. STM32——系统滴答定时器

    STM32--系统滴答定时器 宗旨:技术的学习是有限的,分享的精神是无限的. 一.SysTick[内核中] [风格:先描述一下库对寄存器的封装,再举例实现某些功能] SysTick定时器被捆绑在NVI ...

  5. 定时器开始时延时了十几秒_第六章--系统滴答定时器

    第六章--系统滴答定时器 简介:系统滴答定时器是内核(这里指M4)定时器使用的是内核时钟源168MZ或可以选择外部时钟源21MZ 应用场合: 为UCOS系统提供时钟节拍 作为简单的定时器延时使用 // ...

  6. SysTick系统滴答定时器

    工作原理 SysTick系统滴答定时器是一个24位递减计数器计数器,向下计数,最大计数值为() SysTick系统滴答定时器,每个时钟周期-1,减到0后申请中断,并且会自动重装初值. 注意: 定时器的 ...

  7. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记四(5):系统滴答定时器

    处理器有一个24位系统定时器,SysTick,它可以向下计数从重载值到0,在下一个时钟边沿重载LOAD寄存器中的值,然后在随后的时钟下降计数. 当处理器停止进行调试时,计数值不再缩减. 系统滴答控制和 ...

  8. 系统滴答定时器(systick)应用

    1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断).滴答中断?这里来简单地解释一下.操作系统进行运转的时候 ...

  9. 【STM32】HAL库-系统滴答定时器SysTick

    SysTick定时器被捆绑在NVIC中,是一个简单的定时器,对于CM3.CM4内核芯片,都有Systick定时器.Systick定时器常用来做延时,或者实时系统的心跳时钟.这样可以节省MCU资源,不用 ...

最新文章

  1. 【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征
  2. Boost:使用accumulator_set <>和std :: for_each()计算一些有用的统计信息
  3. jsoncpp-src-0.5.0.tar.gz 源码错误!!!!
  4. 通过预训练提升语言理解
  5. print输出 pytorch_pytorch打印网络结构的实例
  6. java接口的作用是什么?
  7. 使用什么优化器_新的深度学习优化器Ranger:RAdam + LookAhead强强结合
  8. 卢伟冰为Redmi K50电竞版预热:相机拍照效果越来越出色
  9. 荣耀30S正式发布!荣耀赵明回应红米叫板:被强行捆绑,不太想搭理
  10. C++之=deleted
  11. [dfs] 洛谷 P2535 收集资源
  12. easyui 动态添加标签页,总结
  13. CTF题库—实验吧(密码学)之奇妙的音乐
  14. Borůvka (Sollin) 算法求 MST 最小生成树
  15. 网络安全等级保护等级保护对象的安全保护等级
  16. 感恩,生命的馈赠(2014年终总结)
  17. Linux软件防火墙:iptables
  18. 网络 · IPv4协议
  19. 迟来的 2018 年第一篇分享,满足你的碎片化时间
  20. STATA如何查找命令的帮助文件

热门文章

  1. android热修复技术tinker,Android热修复方案第一弹——Tinker篇
  2. 对策论基础---引言
  3. 植物大战僵尸二:游戏界面的绘制
  4. Nextcloud整合Aria2和AriaNg、Aria2 WebUI实现离线下载
  5. 迪杰斯特拉--链式向前星
  6. iOS Camera照相机
  7. 升级!鹏业云计价i20(西藏)软件V11.0.27版本
  8. JTAG、JLink、ULINK、ST-LINK仿真器区别
  9. C语言链表的删除代码实现
  10. 使用word完成海报制作说明书