#if OS_TASK_STAT_EN > 0
void OSStatInit (void)
{
#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
OS_CPU_SR cpu_sr;
#endif
OSTimeDly(2); /* Synchronize with clock tick */
OS_ENTER_CRITICAL();
OSIdleCtr = 0L; /* Clear idle counter */
OS_EXIT_CRITICAL();
OSTimeDly(OS_TICKS_PER_SEC / 10); /* Determine MAX. idle counter value for 1/10 second */
OS_ENTER_CRITICAL();
OSIdleCtrMax =
void OSStatInit (void)
最新推荐文章于 2021-05-16 12:58:40 发布
OSStatInit函数用于初始化嵌入式系统的任务统计,确保与时钟同步。它首先清除空闲计数器,然后进行两次延时,分别用于同步和测量最大空闲计数。在延时期间,空闲任务会更新OSIdleCtr。OSIdleCtrMax存储最大计数值,用于后续的CPU利用率计算。OSStatRdy标志设置为TRUE后,系统准备进行CPU利用率统计。
摘要由CSDN通过智能技术生成