[牛人杂谈] 系统定时器 (SysTick)

[复制链接]
161|10
 楼主 | 2020-1-27 11:47 | 显示全部楼层 |阅读模式
Cortex®-M0 包含一个集成的系统定时器 — SysTick。它提供一种简单的,24位写清零、递减、自 装载同时具有可灵活控制机制的计数器。该计数器可用作实时系统(RTOS) 的滴答定时器或一个简 单的计数器。
当系统定时器使能后,将从 SysTick 的当前值寄存器 (SYST_CVR) 的值向下计数到0,并在下一个 时钟周期,重新加载在 SysTick 重新加载值寄存器 (SYST_RVR) 的值,然后随接下来的时钟递 减。当计数器减到0时,标志位COUNTFLAG置位,读 COUNTFLAG 位使其清零。
复位后,SYST_CVR 的值未知。在使能前,软件应该写该寄存器使其清零。这样确保定时器在使 能后以SYST_RVR中的值计数,而非任意值。
若SYST_RVR是0 ,在重新加载这个值后,定时器将保持当前值0,这种机制可以用来在不使用系 统定时器的使能位的情形下禁用系统定时器。 详情请参考“ARM® Cortex®-M0 Technical Reference Manual” 和 “ARM® v6-M Architecture Reference Manual”。


使用特权

评论回复
 楼主 | 2020-1-27 11:51 | 显示全部楼层
系统时钟有 4 个时钟源,由时钟发生器发生。时钟源切换取决于寄存器HCLK_S (CLKSEL0[2:0])。 框图如下所示:
179005e2e5e4b7f79b.png

使用特权

评论回复
 楼主 | 2020-1-27 11:52 | 显示全部楼层
637195e2e5e658d834.png

使用特权

评论回复
 楼主 | 2020-1-27 11:52 | 显示全部楼层
掉电模式时钟
当芯片进入掉电模式,系统时钟,一些时钟源和一些外设时钟将被关闭。也有一些时钟源和外设时 钟仍在工作。
下列时钟仍在工作:
 时钟发生器
 10 kHz内部低速振荡器
 外设时钟(当时钟源来自10 kHz内部低速振荡器)

使用特权

评论回复
 楼主 | 2020-1-27 11:53 | 显示全部楼层
分频器输出
该设备带有一个2的幂次分频器,该分频器由16个链式二分频器的移位寄存器组成。由16选1的多路 转换器选择16个移位寄存器其中一个输出并反映到CKO管脚上。因此共有2的16次幂的时钟分频选 择,分频
212615e2e5ed571f00.png

使用特权

评论回复
 楼主 | 2020-1-27 11:54 | 显示全部楼层
978765e2e5ee456643.png

使用特权

评论回复
| 2020-1-28 21:21 | 显示全部楼层
掉电模式时钟就不输入给CPU了?

使用特权

评论回复
| 2020-1-29 09:04 | 显示全部楼层
根据需要选择和查看就不那么繁琐了。

使用特权

评论回复
| 2020-1-29 12:01 | 显示全部楼层
算好使用的所有外设,每个外设需要的时钟

使用特权

评论回复
 楼主 | 2020-1-30 21:42 | 显示全部楼层
时钟还可以输出给外部元件使用。

使用特权

评论回复
| 2020-1-31 11:57 | 显示全部楼层
专门为跑系统RTOS用的。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表