STM32F7延时函数HAL_Delay

参考了 https://blog.csdn.net/u011303443/article/details/58592033

入参是以毫秒为单位的时间值,这个延时函数是靠systick 1ms中断来完成的

/**
  * @brief This function provides accurate delay (in milliseconds) based 
  *        on variable incremented.
  * @note In the default implementation , SysTick timer is the source of time base.
  *       It is used to generate interrupts at regular time intervals where uwTick
  *       is incremented.
  * @note This function is declared as __weak to be overwritten in case of other
  *       implementations in user file.
  * @param Delay: specifies the delay time length, in milliseconds.
  * @retval None
  */
__weak void HAL_Delay(__IO uint32_t Delay)
{
  uint32_t tickstart = 0;
  tickstart = HAL_GetTick();
  while((HAL_GetTick() - tickstart) < Delay)
  {
  }
}

参考的文章写得很好,直接看参考的文章即可。

猜你喜欢

转载自blog.csdn.net/wofreeo/article/details/89225143