xTaskGetTickCount 的行为

问题描述 投票:0回答:1

使用

xTaskGetTickCount
是只给出当前任务的滴答数还是所有任务使用的滴答数? 例如,如果我有

   TickType_t xT0 = xTaskGetTickCount();
   /// DO SOME STUFF
   TickType_t xT1 = xTaskGetTickCount();

并且一个刻度为 1 毫秒,

xT1-xT0
是否反映了已经过去的挂钟时间的毫秒数,或者仅反映了执行某些操作所花费的 CPU 时间,而不计算其他任务执行其他操作所花费的时间?

freertos
1个回答
0
投票

根据 FreeRTOS 手册,

xTaskGetTickCount()
返回“自调用 vTaskStartScheduler 以来的滴答数”。具体来说,这些是 FreeRTOS 调度程序滴答声,它不跟踪每个任务的 CPU 使用情况。您可以在这里阅读更多内容

xT1-xT0
反映了挂钟时间内已经过去的调度程序滴答数。然而,由于采样误差,
xT1-xT0
的偏差可能不超过两个刻度。出现这种差异的原因是每个样本可能是在一个刻度之后或下一个刻度之前采样的,并且两种情况都给出相同的刻度值。您可以在这里阅读更多内容

© www.soinside.com 2019 - 2024. All rights reserved.