在周期任务中,vTaskDelay(period)是相对延时:每次从当前时刻重新计时,任务执行时间、中断抢占、调度延迟都会累加到下一次起点,长期运行会产生累积漂移,漂移量约等于每周期(执行时间+调度抖动)之和。vTaskDelayUntil(&last, period)是绝对延时:以last为基准递增固定周期,只要单周期执行时间小于period,下一次唤醒时刻就是确定的,不会把执行时间累加进去,因此长期无累积漂移(仅有单周期抖动)。实测建议:用GPIO翻转+逻辑分析仪或DWT周期计数器记录唤醒时刻,跑1000~10000个周期统计偏差。典型结果:period=10ms、任务体2ms时,vTaskDelay每周期晚约2ms+抖动,1000周期累积约2s以上;vTaskDelayUntil偏差保持在单周期抖动范围(几十us级),不随时间增长。注意:vTaskDelayUntil要求任务体执行时间必须小于period,否则会连续唤醒甚至触发断言;若周期可变或需动态调整,应改用xTaskDelayUntil并检查返回值。