SysTick定时器:系统滴答定时器是一个非常基本倒计时定时器,用于在每隔一定的时间产生一个中断,即使是系统在睡眠模式下也能工作。
它使得 OS 在各 CM3 器件之间的移植中不必修改系统定时器的代码,移植工作一下子容易多了,不用考虑最基本的时钟不一致的问题。
总结一下:SysTick_Handler()函数每1ms运行一次,运行时就调用TimingDelay_Decrement()函数,而这个函数又令变量TimingDelay减1
看相关配置 systick_config.c文件如下:
#include “stm32f4xx.h”
static __IO uint32_t TimingDelay;
void led_init(void)//LED初始化
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable the GPIO_LED Clock /
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
/ Configure the GPIO_LED pin */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8; //led IO 口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //模式:输出
// GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
// GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉 ,硬件自带上拉电阻,故此处不需要软件上拉,若不屏蔽则 led