关于UCOSIII3.03CPU使用率统计

2019-07-20 23:47发布

代码如下:
void task_stkdec(void *p_arg)
{
        OS_ERR err;
        CPU_TS ts;
        CPU_STK_SIZE used,free;
        p_arg=p_arg;
        while(1)
        {
                OSTimeDly(1000,OS_OPT_TIME_DLY,&err);
                OSTaskStkChk(&OSStatTaskTCB,&free,&used,&err);
                printf("统计任务:            %d%% ",100*used/(used+free));
                OSTimeDly(30,OS_OPT_TIME_DLY,&err);
                printf("CPU使用率:%d%% ",OSStatTaskCPUUsage);
               
        }
}
输出统计任务的堆栈使用率和CPU使用率,结果输出结果如下:
CPU使用率:62%
统计任务:            49%
CPU使用率:293%
统计任务:            49%
CPU使用率:62%
统计任务:            49%
CPU使用率:62%
统计任务:            49%
CPU使用率:292%
统计任务:            49%
CPU使用率:62%
统计任务:            49%
CPU使用率:62%
统计任务:            49%
CPU使用率:291%
统计任务:            49%
CPU使用率:62%
统计任务:            49%
CPU使用率:62%
统计任务:            49%
CPU使用率:291%
统计任务:            49%
CPU使用率:63%
统计任务:            49%
CPU使用率:63%
CPU使用率显示会出错,请问是哪里出了问题呢

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。