教程中原话 如果将宏OS_CFG_STAT_TASK_EN置1的话表示检查任务堆栈使用情况,那么统计任务就会调用OSTaskStkChk()函数 来计算所有已创建任务的堆栈使用量,并将检测结果写入到每个任务的OS_TCB中的StkFree和StkUsed中。 如何查看?在串口上打印。修改部分如下所示,其余内容和原子哥的教程7-1相同 void led0_task(void *p_arg) { OS_ERR err; p_arg = p_arg; while(1) { LED0=0; OSTimeDlyHMSM(0,0,0,200,OS_OPT_TIME_HMSM_STRICT,&err); LED0=1; printf("运行内存:%d\r\n",Led1TaskTCB.StkUsed);//串口上显示28 //printf("运行内存:%d\r\n",Led1TaskTCB.StkFree);//显示100 OSTimeDlyHMSM(0,0,0,500,OS_OPT_TIME_HMSM_STRICT,&err); } } 请问这个串口上显示的 28 100是什么意思?怎么才是CPU使用率?这两个StkUsed和StkFree代表什么?
|