文档章节

stm32 SysTick定时器LED

 奔跑的夕阳_
发布于 2017/08/18 16:16
字数 383
阅读 26
收藏 0

SysTick定时器是一个24位向下计数器的内核外设,每计数一次耗时1/SYSCLK,当重装载寄存器的值减到0时,系统定时器产生中断。

SysTick寄存器:(参考CM3权威指南)

                        CTRL     控制及状态寄存器

                         LOAD    重装载数值寄存器

                          VAL      当前数值寄存器

                         CALIB    校准数值寄存器

SysTick 属于内核的外设,有关的寄存器定义和库函数都在内核相关的库文件core_cm3.h 中。

调用SysTick_Config(ticks);通过形参ticks设置重装载寄存器的值,设置优先级为最低的15。清空当前计数器的值,设置系统时钟72M,使能中断与SysTick定时器。

SysTick定时器进入一次中断时间计算T=RELOAD * 1/SYSCLK。用一个变量t记录进入中断的次数,则计时时间为t * T。

定时函数:设置为进一次中断用时 1us,将要计时的时间作为全局变量在中断服务函数中递减。计时时间就是timedelay us

另一种定时方法是利用每次SysTick计数到0时CTRL的位16会被置1,而读取该位后会自动清0的特性。

——————————————————————————————————————————————————————————————————————————————————————

SysTick相关函数:

    SysTick_CLKSourceConfig() //Systick选择时钟源(FWLIB-misc.c文件中)

    SysTick_Config(uint32_t ticks) //初始化Systick(CORE-core_cm3.h文件中)

    void SysTick_Handler(void);//中断服务函数

原型如下:

函数1的参数

  SysTick_CLKSource_HCLK_Div8 外部时钟 72/8=9M 
  SysTick_CLKSource_HCLK 内部时钟 HCLK=72M

 

函数2原型

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 11
码字总数 3649
作品 0
杭州
STM32之SysTick定时器

SysTick-------操作系统的心跳 SysTick是系统滴答定时器,可以说是操作系统的的“心跳”,它被绑在NVIC中,用于产生SysTick异常(异常号:15)。一旦产生SysTick异常,就会产生滴答中断,这个...

panrenqiu
04/14
0
0
【转】浅析STM32中SysTick在3.5固件库中的应用

最近一直在忙STM32的学习,在学习中遇到了不少问题,也经过各种尝试解决问题,在这里我通过博文的形式写出来,也希望能够帮到遇见同样问题的人们。对于STM32系列的芯片,有一个好处就是官方给...

jerry2012cn
2013/06/23
0
0
STM32系统滴答_及不可不知的延时技巧 - (上)

我想每个单片机爱好者及工程开发设计人员都有过点灯的经历。流水灯是个好东西,尤其是在调试资源有限的环境中,有时会帮上大忙。 然在最初入门时,如何让这些小灯们按照我们的想法欢快地跑起...

小汉憨憨
2014/04/29
0
0
STM32上使用freertos常见问题

STM32上使用freertos常见问题,来自STM32的官方文档,这里把部分摘录在这里。 怎样将 FreeRTOS 移植到不同的 Cortex-M 内核? 若需将 FreeRTOS 移植到正确的 Cortex-M 产品,您必须从正确的目...

u011559046
05/05
0
0
SysTick的优先级是高还是低

SysTick系统嘀嗒定时器并非STM32独有的,它是Cortex内核的部分,CM3为它专门开出一个异常类型,并且在中断向量表中占有一席之地(异常号15)。这样它可以很方便的移植到不同厂商出CM3内核...

OceanStack
2015/01/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
2
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
3
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
1
0
OSChina 周四乱弹 —— 上帝对我单身年限的惩罚越来越长了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享张卫健的单曲《身体健康》 《身体健康》- 张卫健 手机党少年们想听歌,请使劲儿戳(这里) 昨天是重阳节咯, 可惜小小编辑总是晚...

小小编辑
今天
12
1
django rest framework 外键序列化方法与问题总结

django rest framework 外键序列化方法与问题总结 当借口中需要出现一对多关系的时候,我们可以用rest_framwork的序列化功能来处理,代码如下. # models.pyfrom django.db import modelscl...

_Change_
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部