STM32 SysTick——系统定时器

SysTick简介

      SysTick—系统定时器是属于CM3内核中的一个外设,内嵌在NVIC中。系统定时器

是一个24bit的向下递减的计数器,计数器每计数一次的时间为1/SYSCLK,一般我们设置

系统时钟SYSCLK等于72M。当重装载数值寄存器的值递减到0的时候,系统定时器就产

生一次中断,以此循环往复。 

SysTick寄存器介绍

       SysTick—系统定时器有4个寄存器,简要介绍如下。在使用SysTick产生定时的时候,

只需要配置前三个寄存器,最后一个校准寄存器不需要使用。

 

寄存器名称 寄存器描述

CTRL SysTick 控制及状态寄存器

LOAD SysTick 重装载数值寄存器

VAL SysTick    当前数值寄存器

CALIB SysTick 校准数值寄存器

 

SysTick定时实验

利用SysTick产生1s的时基,LED1s的频率闪烁。

编程要点

1、设置重装载寄存器的值

2、清除当前数值寄存器的值

3、配置控制与状态寄存器

程序

void SysTick_Delay_Us( __IO uint32_t us)
{
 uint32_t i;
 SysTick_Config(SystemCoreClock/1000000);
 
 for (i=0; i<us; i++) {
 // 当计数器的值减小到 0 的时候,CRTL 寄存器的位 16 会置 1
 while ( !((SysTick->CTRL)&(1<<16)) );
  }
 // 关闭 SysTick 定时器
 SysTick->CTRL &=~SysTick_CTRL_ENABLE_Msk;
}

 

 

 

 

 


版权声明:本文为weixin_45380797原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。