我们在昨天流水灯的基础上,新建两个文件,SysTick.c和SysTick.h
具体代码如下
SysTick.h
- #ifndef __SYSTICK_H__
- #define __SYSTICK_H__
- #include "stm32f10x.h"
- void SysTick_Init(void);
- void Delay_us(__IO u32 nTime);
- #endif
SysTick.c
- #include "SysTick.h"
- #include "stm32f10x.h"
- static __IO u32 TimingDelay;
- void SysTick_Init(void)
- {
- if(SysTick_Config(SystemCoreClock/100000))
- {
- while(1);
- }
- //关闭滴答定时器
- SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk;
- }
- void TimingDelay_Decrement(void)
- {
- if(TimingDelay != 0x00)
- {
- TimingDelay--;
- }
- }
- void Delay_us(__IO u32 nTime)
- {
- TimingDelay = nTime;
-
- //使能滴答定时器
- SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
-
- while(TimingDelay != 0);
- }
|