1 1、首先对SysTick进行设置
void SysTick_Configuration(void)
{
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //系统时钟8分频
SysTick_SetReload(9000); //周期1ms
SysTick_ITConfig(ENABLE); //打开中断
}
2、延时函敿/span>
void SysTick_Delay(u32 nTime)
{
SysTick_CounterCmd(SysTick_Counter_Enable); //允许计数
TimingDelay = nTime;
while(TimingDelay != 0);
SysTick_CounterCmd(SysTick_Counter_Disable); //禁止计数
SysTick_CounterCmd(SysTick_Counter_Clear); //计数器清0
}
3. 中断函数
void SysTickHandler(void)
{
TimingDelay_Decrement();
}
4. 中断调用函数
void TimingDelay_Decrement(void)
{
if (TimingDelay != 0x00)
{
TimingDelay--;
}
} |