1、HAL_Delay()
阻塞型延时,实现方式是通过死循环方式实现的,不会释放掉cpu,会造成其他低优先级任务无法执行
2、vTaskDelay() 相对延时函数
void vTaskDelay(TickType_t xTicksToDelay);
相对延时函数:相对延时是指每次延时都是从任务执行函数vTaskDelay()开始,延时指定的时间结束; 精度没绝对延时准确,延时时释放CPU
3、vTaskDelayUntil() 绝对延时函数
void vTaskDelayUntil(TickType_t *pxPreviousWakeTime, TickType_t xTimeIncrement);
指将整个任务的运行周期看作一个整体,适用于需要按照一定频率运行的任务,精度很准,延时时释放CPU
嵌入式 | RTOS相对延时和绝对延时的区别 - 与非网 (eefocus.com)