1堵塞式延时
用这种程序会一直等待不能做其它工作,优点是实现简单,适用于断时的单任务等待。
HAL_Delay(1000); //延时1000ms
2 非堵塞式等待
借用系统的开机时间,可以边等待边完成其它任务,不占用CPU,比较推荐这种方式。
uint32_t startTime,now;
startTime= HAL_GetTick();
循环开始
now= HAL_GetTick();
if((now-startTime)>1000)//等待时间到
{
跳出循环
}else
{
处理其它短时任务
}
循环结束