利用systick的延时函数:unsigned long TimingDelay; // 延时时间,注意定义为全局变量
void Delay(unsigned long nTime) //延时函数
{
SYSTICK_CSR|=0x07; // 使能SysTick计数器
TimingDelay = nTime; // 读取延时时间
while(TimingDelay != 0); // 判断延时是否结束
SYSTICK_CSR|=0x06;// 关闭SysTick计数器
}
int main()
{
SystemInit0(); //系统(时钟)初始化
stm32_GpioSetup (); //GPIO初始化
SysTick_Configuration(); //配置systick定时器
while(1)
{
GPIO_PORTB_ODR|=(1<<5);
Delay(1000); //1S
GPIO_PORTB_ODR&=~(1<<5);
Delay(1000); //1S
}
}
|