文档章节

stm32 SysTick定时器LED

 奔跑的夕阳_
发布于 2017/08/18 16:16
字数 383
阅读 18
收藏 0
点赞 0
评论 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

STM32系统滴答_及不可不知的延时技巧 - (上)

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

小汉憨憨 ⋅ 2014/04/29 ⋅ 0

SysTick的优先级是高还是低

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

OceanStack ⋅ 2015/01/24 ⋅ 0

【转】浅析STM32中SysTick在3.5固件库中的应用

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

jerry2012cn ⋅ 2013/06/23 ⋅ 0

STM32上使用freertos常见问题

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

u011559046 ⋅ 05/05 ⋅ 0

STM32时钟配置与SysTick配置_基于STM32F103

【一】前言 STM32前后台程序编程时,最基本的配置应当是对其时钟和系统定时器的配置,对标准库而言,调用SysTickInit ();。如果采用HAL库,首先还应该调用HALInit();初始化HAL库。 此处采用标...

u010834669 ⋅ 05/05 ⋅ 0

STM32 SysTick定时器

一、说明 SysTick 定时器是实时操作系统专用的,但是也可以作为一个标准的递减计数器使用。它具有以下特点: 1、24位递减计数器(16777216) 2、自动装填能力 3、计数器达到 0 时,有可屏蔽的...

u011303443 ⋅ 2017/03/02 ⋅ 0

STM32 USB无法连接电脑

一、说明 在调试 STM32 USB device MSC 功能时,使用官方提供的库和示例项目,电脑可以正确识别设备,也可以正常操作。但是将 USB 部分的代码移植到自己的工程后,发现电脑无法正确识别设备,...

u011303443 ⋅ 2017/12/06 ⋅ 0

STM32 基本定时器

STM32的Timer简介 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick...

零零零 ⋅ 2013/04/24 ⋅ 0

STM32中关于Contex-M3寄存器说明--NVIC/SCB/SysTick

bluefish - 51CTO技术博客----------本文转自网上,如果原作看到的话请留言,我会把出处加上,谢谢! 在STM32中用到了Cortex-M3定义的三组寄存器,有关这三组寄存器的说明不在STM32的技术手册...

文剑Boy ⋅ 2014/07/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 29分钟前 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 38分钟前 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 41分钟前 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 48分钟前 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 50分钟前 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 57分钟前 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 今天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 今天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 今天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部