系统滴答定时器:属于内核的定时器,用于控制整个系统的运行节拍,STM32F429是180MHZ的,STM32F103最高是72MHZ。此处主要是编写控制时钟进行延时的程序。
工作流程:利用systick定时器为递减计数器,设定初值并使能它后,它会每1个系统时钟周期计数器减,计数到 0时,SysTick计数器自动重装初值并继续计数,同时触发中断。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。
-
SystemInit() 这个函数可以让主频运行到180M,可以把它作为systick的时钟源。
-
计数方式:24bit向下递减的计数器
-
系统频率:180MHZ
-
实现功能:延时
-
主要寄存器:
SysTick->CTRL, --控制和状态寄存器SysTick->LOAD, --重装载寄存器
SysTick->VAL, --当前值寄存器
SysTick->CALIB, --校准值寄存器
bsp_systick.c
#include "stm32f4xx.h"
void SysTick_Init(void);
void Delay_us(__IO u32 nTime);
static __IO u32 TimingDelay;
/*系统滴答定时器初始化 */
void