任务的基本概念、任务堆栈、任务控制及任务调度、任务就绪表及任务调度
2.1任务的基本概念
2.1.1任务的状态
睡眠状态,就绪状态,运行状态,等待状态,中断服务状态;
任务状态的切换
2.1.2用户任务代码的一般结构
1.用户任务代码的一般结构
voidMyTask(void *pdata)
{
while(1)
{
可以被中断的任务代码;
OS_EXTERN_CRITICAL(); //进入临界段(关中断)
不可以被中断的用户代码;
OS_EXIT_CRITICAL(); //退出临界段(开中断)
可以被中断的用户代码;
}
}
2.用户应用程序的一般结构
voidMyTask1(void *pdata)
{
while(1)
{
……
}
}
voidMyTask2(void *pdata)
{
while(1)
{
……
}
}
voidMyTask3(void *pdata)
{
while(1)
{
……
}
}
void main()
{
……
OSInit(); //初始化uC/OS-II
……
OSTaskCreate(MyTask1,……);//创建用户任务1
OSTaskCreate(MyTask2,……);//创建用户任务2
OSTaskCreate(MyTask3,……);//创建用户任务3
……
OSStart(); //启动任务
……
}
2.1.3系统任务
1.空闲任务
voidOSTaskIdle(void *pdata)