UCOSII之任务堆栈使用情况检查(通过OSTaskStkChk()函数查看)
本文重点介绍如果使用函数OSTaskStkChk()函数来检查UCOSII系统下各任务堆栈的使用情况。 1、简单介绍一下OSTaskStkChk()函数参数和返回值: INT8U OSTaskStkChk(INT8U prio, OS_STK_DATA *p_stk_data) 参数prio : 被检测任务的优先级,也就是唯一标识被检任务的ID。 参数*p_stk_data:指向OS_STK_DATA 结构体的一个变量指针。 OS_STK_DATA 结构体如下: typedef struct os_stk_data { INT32U OSFree; /* Number of free entries on the stack */ INT32U OSUsed; /* Number of entries used on the stack */ } OS_STK_DATA; 返回值:0,表示函数返回成功,即:OS_ERR_NONE 异常返回值如下: OS_ERR_PRIO_INVALID :被检测任务的优先级优先级设置错误,可能比最高优先级都高了。要小于最高优先级并大于最低优先级,同时不要和自己检测任务的优先级相同 OS_ERR_TASK_NOT_EXIST :你要检测的任务没有被建立或者被分配到一个互斥PIP OS_ERR_TASK_OPT