一,任务状态:
多任务操作系统最重要的就是对任务进行管理,包括任务的创建,挂起,删除和调度。UCOSII只支持单核cpu,因此在某一时刻只有一个任务获得cpu使用权,其他任务就会进入其他状态。
二,UCOSII系统任务管理
1,任务创建:OSTaskCreate()函数,参数如下
参数1:任务的函数名:其实就是为了在任务切换的时候跳转到任务中执行的入口地址。
参数2:传递给建立任务的参数,这个参数基本不会用到。
参数3:传递给建立任务的堆栈,每个任务都有独一无二的堆栈。
参数4:传递给任务的优先级。
当OS_TASK_CREATE_EN宏大于0的时候,可以创建任务;如果创建的时候检测到任务的优先级比最大的优先级(数值上,实际上是最小)还大的话,那么就直接退出,输出一个错误码。
#if OS_TASK_CREATE_EN > 0u
INT8U OSTaskCreate (void (*task)(void *p_arg),
void *p_arg,
OS_STK *pt