代码如下:
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使用率显示会出错,请问是哪里出了问题呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>