#include "config.h"	 	//全局声明
 
void delay_init(void) 
{
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//用于配置延时函数
}
//延时函数：毫秒级别
void delay_ms(uint32_t nms)
{
	uint32_t tmp;
	while(nms--)
	{
		SysTick->LOAD = 168000000/8/1000;	//计数初值，延时1ms
		SysTick->VAL = 0;					//清空当前值
		SysTick->CTRL |= 0x1;				//开始计数
		while ((SysTick->CTRL & 0x00010000)==0);
 
		SysTick->VAL = 0;					//清空当前值
		SysTick->CTRL &= 0;					//关闭计数
	}
}
 
//延时函数：微秒级别
void delay_us(uint32_t nus)
{
	uint32_t tmp;
	while(nus--)
	{
		SysTick->LOAD = 168000000/8/1000000;	//计数初值，延时1us
		SysTick->VAL = 0;					//清空当前值
		SysTick->CTRL |= 0x1;				//开始计数
	  while ((SysTick->CTRL & 0x00010000)==0);
		SysTick->VAL = 0;					//清空当前值
		SysTick->CTRL &= 0;					//关闭计数
	}
 
}
 
 