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的时基,LED以1s的频率闪烁。
编程要点
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版权协议,转载请附上原文出处链接和本声明。