【HAL库&CubeMX】关于延时函数的使用

1堵塞式延时

用这种程序会一直等待不能做其它工作,优点是实现简单,适用于断时的单任务等待。

HAL_Delay(1000); //延时1000ms

2 非堵塞式等待

借用系统的开机时间,可以边等待边完成其它任务,不占用CPU,比较推荐这种方式。

需要用到函数 HAL_GetTick()

  uint32_t startTime,now;
 
  startTime= HAL_GetTick();
 
  while(1){//循环开始
      now= HAL_GetTick();
  
      if((now-startTime)>1000)//等待时间到
     {
         break;//跳出循环
     }else
     {
        处理其它短时任务
     }
 }//循环结束        

你可能感兴趣的:(嵌入式硬件,单片机)