52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /***
 | ||
| 	***************************************************************************
 | ||
| 	*	@file  	delay.c
 | ||
| 	*	@version V1.0.0
 | ||
| 	*	@brief   delay接口相关函数
 | ||
|    ***************************************************************************
 | ||
|    *  @description
 | ||
| 	*
 | ||
| 	*  SysTick定时器配置为1ms中断,实现毫秒延时
 | ||
| 	*
 | ||
| 	***************************************************************************
 | ||
| ***/
 | ||
| 
 | ||
| #include "delay.h"
 | ||
| 
 | ||
| static __IO uint32_t TimingDelay;  //计数变量
 | ||
| 
 | ||
| 
 | ||
| //	函数:延时初始化
 | ||
| //	说明:配置 SysTick 为1ms中断,并启动定时器
 | ||
| //
 | ||
| void Delay_Init(void)
 | ||
| {
 | ||
| 	SysTick_Config(SystemCoreClock / 1000);  //配置SysTick时钟为1ms中断
 | ||
| }
 | ||
| 
 | ||
| //	函数:计时函数
 | ||
| //	说明:在 SysTick 中断服务函数里被调用
 | ||
| //
 | ||
| void OS_CPU_SysTickHandler(void)
 | ||
| {
 | ||
| 	if (TimingDelay != 0)
 | ||
| 	{
 | ||
| 		TimingDelay--;
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| //	函数:毫秒延时
 | ||
| // 参数:nTime - 延时时间,单位ms
 | ||
| //	说明:每次调用都会重新给TimingDelay赋值,实现 n 毫秒的延时,最大延时 4294967295 ms。
 | ||
| //
 | ||
| void Delay_ms(uint32_t nTime)
 | ||
| {
 | ||
| 	TimingDelay = nTime;
 | ||
| 
 | ||
| 	while(TimingDelay != 0);
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 |