一、任务的基本概念
1、任务及其种类
(1)任务和任务控制块
在实际生活中,有一个复杂的问题,常用的方法“分而治之”,将大问题分成多个小任务,然后逐个击破。
在uC/OS-II中,与小任务对应的程序实体叫做“任务”。uC/OS-II就是一个能对小任务进行管理和调度,然后并发执行这些小任务的多任务操作系统。
从代码上理解,uC/OS-II中的一个任务就是一个C函数。作为任务,这个C函数要受到操作系统的管理,应该具有一个控制块----任务控制块。
下图为一个任务的组成:
图一
(2)任务的管理
任务:用户任务、系统任务,最多含有64个任务。
任务注册:将任务控制块加入到链表中。
例如:
图2
2、任务的状态
图3
3、用户任务代码的一般性
(1)用户任务代码的一般结构介绍
代码如下:
void MyTask(void * pdata)
{
while()
{
······//可以被中断的代码
OS_ENTER_CRITICAL(); //关中断,进入临界区
······//不可以被中断的代码
OS_EXIT_CRITICAL(); //开中断,退出临界区
······//可以被中断的代码
}
}
(2)用户应用程序的一般结构
代码如下:
void MyTask1(void * pdata)
{
while()