《零死角玩转STM32》-18-SysTick系统滴答定时器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《零死角玩转STM32》-18-SysTick系统滴答定时器相关的知识,希望对你有一定的参考价值。
参考资料:《STM32F4XX内核参考手册》:4.4.8-SHPRX(System Handler Priority Register)与4.5- System Tick Timer.
1. 简介
SysTick是一个24Bit的系统定时器,属于CM4内核的外设,相关寄存器与部分库函数中core_cm4.h中定义。SysTick一般用于操作系统,用于产生时基,维持OS的心跳。
如下所示:当计数器被使能(STC_CTRL: Bit0-ENABLE)并且计数器到0时,STK_LOAD中的预设值会被重新装载到STK_VAL中,并作为计数器的起始值(Start Value),之后开始递减计数。
"STK_VAL" --- ---count down--- -----> Zero?
| |
/|\\ \\|/
| |
-<-----Relaod Value from STK_LOAD-
2. SysTick寄存器介绍
STK_CTRL,主要涉及
计数器的使能(Bit0-ENABLE),
计数到0的时候是否产生系统异常(Bit1-TICKINT),
时钟源的选择(Bit2-CLKSOURCE)
以及计数标志位(Bit16-COUNTFLAG)
STK_LOAD:计数器的预设值
STK_VAL:计数器当前值寄存器,即为:The current value of the SysTick counter.
注意:读取该寄存器,返回:系统滴答计数器的当前值
写入“任何数值”到该寄存器都会将该寄存器清零!,同时会清除STK_CTRL寄存器中的COUNTFLAG位!
以上是关于《零死角玩转STM32》-18-SysTick系统滴答定时器的主要内容,如果未能解决你的问题,请参考以下文章
第40章 CAN—通讯实验—零死角玩转STM32-F429系列
《零死角玩转STM32》-17-EXTI外部中断/事件控制器