第二章
2.1任务(又称为线程)
组成部分:任务程序代码 任务堆栈 任务控制块
分类:用户任务(解决应用问题)、系统任务(为应用程序提供服务)
Uc/OS-ll在管理任务时将每个任务作为一个节点,链接成任务链表,最多可对64个任务进行管理。
状态:典型地、每个任务都是一个无限的循环。每个任务都处在以下5种状态之一的状态下,这5种状态是休眠态,就绪态、运行态、挂起态(等待某一事件发生)和被中断态
任务代码的一般结构:执行代码是一个无限循环结构,可以响应中断,称为超循环结构。
例1、 void mytask(void *pdata)
{
For(;;)
{
可以被中断的用户代码;
OS_ENTER_CRITICAL( ); //进入临界段(关中断)
不可以被中断的用户代码;
OS_EXIT_CRITICAL( ); //退出临界段(开中断)
可以被中断的用户代码;