首页 > 试题广场 >

某任务需以 10ms 的严格周期执行,并尽量消除由于执行时间

[单选题]
某任务需以 10ms 的严格周期执行,并尽量消除由于执行时间抖动带来的累积漂移。以下实现方式最合适的是?
  • 在任务循环末尾调用 vTaskDelay(pdMS_TO_TICKS(10))
  • 在进入循环前用 xTaskGetTickCount() 初始化 xLastWakeTime,并在循环中调用 vTaskDelayUntil(&xLastWakeTime, pdMS_TO_TICKS(10))
  • 在循环中频繁调用 taskYIELD() 配合忙等,保证时间片均匀
  • 将任务逻辑放入软件定时器回调中,并在回调内忙等 10ms 以锁定周期
通过调用vtaskdelayuntil函数,记录上一次唤醒时间,通过对任务执行产生的时间波动进行补偿,实现绝对时间,消除漂移积累
发表于 今天 19:21:05 回复(0)