首页 > 试题广场 >

某采集任务需要每10ms稳定执行一次,要求长期运行不产生相位

[单选题]
某采集任务需要每10ms稳定执行一次,要求长期运行不产生相位漂移(相对于系统 Tick)。以下实现方式最合适的是?
  • 在任务循环中使用 vTaskDelayUntil,并以 pdMS_TO_TICKS(10) 作为周期
  • 在任务循环中使用 vTaskDelay(pdMS_TO_TICKS(10))
  • 改用周期性软件定时器回调中执行采集,并在回调中进行复杂耗时处理
  • 任务内轮询 xTaskGetTickCount 并忙等到目标时间点后调用 taskYIELD
为避免相位漂移、时间不够精准的问题,使用能补偿任务时间变化的API,vtaskdelayuntil,实现长久稳定运行
发表于 今天 19:24:34 回复(0)