
设置时钟源寄存器

设置重装载值寄存器

使能/失能 计数器
先清空计时器,再使能

是否产生中断寄存器(在这个间隔时间可以做其他事)

判断是否计数完整

最终代码
void systick_init(void)
{
//选择时钟源 HCLK/8
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
//禁止产生中断(CTRL bit1 = 0)
SysTick_ITConfig(DISABLE);
}
void delay_ms(int ms)
{
//设置重装载值
SysTick_SetReload(9000 * ms);
//清空计数值
SysTick_CounterCmd(SysTick_Counter_Clear);
//开始计数,使能计数器
SysTick_CounterCmd(SysTick_Counter_Enable);
//等待计时完成:查询COUNT标志位
while(SysTick_GetFlagStatus(SysTick_FLAG_COUNT) == RESET);
}