/**********时钟初始化***********/
/**********Tick初始化***********/
void Tmr_TickInit()
{
SysTick_Config(SYSCLK_REFQ/1000);
NVIC_SetPrioriority(SysTick_IRQn,0);
}
//if (SysTick_Config(SystemFrequency / 100000))// ST3.0.0库版本
//if (SysTick_Config(SystemCoreClock / 100000))// ST3.5.0库版本
SysTick_Config(uint32_t
在STM32中与CM3内核描述不太一样,这个时钟源有两个选择:AHB/8和AHB,在该函数中是选择了HCLK(SysTick_CTRL_CLKSOURCE_Msk),所以定时时间=ticks
如果需要选择HCLK/8,可以直接修改这个函数,或在这个函数后跟随misc中的SysTick_CLKSourceConfig(uint32_t
NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1); //------------设置Cortex-M3系统中断的优先级
若要实现systick精确延时,最好把systick优先级设置高一些,如 NVIC_SetPriority (SysTick_IRQn, 0);
/*****NVIC初始化*****/