您当前的位置: 首页 >  stm32
  • 2浏览

    0关注

    880博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

STM32 HAL库学习系列第3篇 常使用的几种延时方式

CodeAllen嵌入式编程 发布时间:2019-06-12 22:51:24 ,浏览量:2

说明:

本文原创作者『Allen5G』

首发于微信公众号『Allen5G』

标签:编程,软件,算法,思维

1   自带的hal_delay 函数    毫秒级延迟

void HAL_Delay(__IO uint32_t Delay)
{
  uint32_t tickstart = HAL_GetTick(); //获取tick值(毫秒)
  uint32_t wait = Delay;
 
  /* Add a period to guarantee minimum wait */
  if (wait < HAL_MAX_DELAY)
  {
     wait++;//传参,延时的时间
  }

  while((HAL_GetTick() - tickstart) < wait)
  {
  }
}

也可以配置为us延时,改变函数参数

配置方法:也可以配置为1us

// HAL_RCC_GetHCLKFreq()/1000 1ms中断一次,即HAL_Delay函数延时基准为1ms
// HAL_RCC_GetHCLKFreq()/100000  10us中断一次,即HAL_Delay函数延时基准为10us
// HAL_RCC_GetHCLKFreq()/1000000 1us中断一次,即HAL_D
关注
打赏
1665938897
查看更多评论
立即登录/注册

微信扫码登录

0.0377s