STM32 延时函数(简单粗暴不精确)

简单的粗略延时

有时候不需要精确延时,比如只希望在一定的时间内切换一下GPIO的电平,就可以使用下面简单的函数:

void delay(u16 delaytime)
{    
   u16 i=0;  
   while(delaytime--)
   {
      i=12000;  //自己定义
      while(i--) ;    
   }
 }

int main()
{
	while(1)
	{
		delay(5);
		GPIO_ResetBits(GPIO_PORT, GPIO_PIN );
		delay(5);//5 ~ 7.5ms
		GPIO_SetBits(GPIO_PORT, GPIO_PIN ); 
	}
}

STM32采用72MHz主频,示波器实测延时时间在5ms ~ 7.5ms之间。
STM32 延时函数(简单粗暴不精确)_第1张图片

你可能感兴趣的:(嵌入式软硬件设计,stm32,单片机,嵌入式硬件,stm32延时函数,stm32延时)