首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > uCOS-II多任务编程设计

uCOS-II多任务编程设计

资料介绍
uCOS-II多任务编程设计第四章

任务设计

在基于实时操作系统的应用程序设计中,任务设计是整个应用程序的基础,其他软件设 计工作都是围绕任务设计来展开,任务设计就是设计“任务函数”和相关的数据结构。

4.1 任务函数的结构
在用户任务函数中,必须包含至少一次对操作系统服务函数的调用,否则比其优先级低 的任务将无法得到运行机会,这是用户任务函数与普通函数的明显区别。任务函数的结构按 任务的执行方式可以分为三类:单次执行类、周期执行类和事件触发类,下面分别介绍其结 构特点。

4.1.1

单次执行的任务

此类任务在创建后只执行一次,执行结束后即自行删除,其任务函数的结构如下: 程序清单 L4-1 单次执行任务函数的结构 MyTask (void *pdata) //单次执行的任务函数 进行准备工作的代码; 任务实体代码; 调用任务删除函数; } 单次执行的任务函数由三部分组成:第一部分是“进行准备工作的代码” ,完成各项准 备工作,如定义和初始化变量、初始化某些设备等等,这部分代码的多少根据实际需要来决 定,也可能完全空缺。第二部分是“任务实体代码” ,这部分代码完成该任务的具体功能, 其中通常包含对若干系统函数的调用,除若干临界段代码(中断被关闭)外,任务的其它代 码均可以被中断,以保证高优先级的就绪任务能够及时运行。第三部分是“调用任务删除函 数” ,该任务将自己删除,操作系统将不再管理它。 单次执行的任务采用“创建任务函数”来启动,当该任务被另外一个任务(或主函数) 创建时,就进入就绪状态,等到比它优先级高的任务都被挂起来时便获得运行权,进入运行 状态,任务完成后再自行删除, “启动任务”就是一个例子。 采用“启动任务”后,主函数就可以简化为三行,只负责与操作系统有关的事情,即初 始化操作系统、创建“启动任务” 、启动操作系统,使主函数的内容固定下来,与具体的应 用系统无关。真正启动系统
标签:uCOS-II多任务编程设
uCOS-II多任务编程设计
本地下载

评论