- 1、本文档共92页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 基于μC/OS-II的程序设计 8.1 基于μC/OS-II的应用程序设计方法 8.2 μC/OS-II操作系统扩展 8.3 μC/OS-II的文件系统 8.4 基于μC/OS-II的图形用户界面基础 μC/OS-II的编程包括操作系统和外设驱动编程,操作系 统的编程主要是以系统为核心而与外部接口无关所进行的软件 编程,如多任务之间的数据交换,中断与任务的同步和互斥 等。外设驱动程序可以为系统提供访问外围设备的接口,把操 作系统(软件)和外围设备(硬件)分离开来。当外围设备改变的时 候,只需更换相应的驱动程序,不必修改操作系统的内核以及 运行在操作系统中的软件。本章将以实例介绍μC/OS-II下的程 序设计。 8.1 基于μC/OS-II的应用程序设计方法 μC/OS-II操作系统只提供任务运行的内核程序,要进行 μC/OS-II的扩展编程,首先要掌握μC/OS-II操作系统的编程。 【例8.1】操作系统启动。 void main(void) { OSInit(); /*初始化μC/OS-II */ OSTaskCreate(myTask,参数指针,任务所分配的堆栈,任务优先级)/*创建任务myTask*/ OSStart();/*开始任务调度,注意OSStart()函数不会返回*/ } 例8.1中的程序实现了μC/OS-II的启动,在调用μC/OS-II 的任务之前,μC/OS-II要求用户首先调用系统初始化函数 OSInit()来初始化μC/OS-II所有的变量和数据结构。调用 OSInit()后将建立空闲任务OSTaskIdle(),这个任务总是处于就 绪状态,系统自动将其优先级设为最低。当有高优先级的任务 建立时,系统会切换到执行高优先级的任务。 OSTaskCreate()函数用来创建一个名为myTask的任务, 一个任务通常是一个无限循环,相当于一个C语言函数,任务 一旦调用就不会返回,因此任务函数的类型必须定义为void 型。如任务myTask程序。 void myTask(void *pdata) { for(;;) { /*用户程序*/ } } 函数myTask()的形参 *pdata是用户代码在第一次执行的 时候传过来的,该变量必须为void类型的指针。 OSTaskCreate()函数的参数还包括任务占用的堆栈和规定任务 的优先级等。 OSStart()函数用来启动任务调度,μC/OS-II总是运行进入 就绪任务中的优先级最高的那个任务,由调度器来确定哪一个 任务运行。μC/OS-II中任务调度所使用的时间是常数,与应用 程序建立的任务数没有关系。 在使用μC/OS-II操作系统来开发应用程序时应该注意以下 几方面的内容。 1. 变量类型 C语言变量类型的长度是与编译器类型相关的,μC/OS-II为 了在各个平台间移植,没有使用C语言的数据类型,而是定义 了自己的数据类型。具体介绍可以参考本书第5章有关μC/OS- Ⅱ中的基本数据类型这一节的内容。 2. 任务函数的编写与结构 μC/OS-Ⅱ操作系统中任务函数相当于C语言函 数,有参数和返回值,但是,实际上任务函数是没有 返回值的。任务函数要么是一个无限循环,要么执行 一次就删除。任务函数结构只能是下面两种结构之 一: 1)任务函数执行完一次就删除。 void myTask(void *pdata) { /*用户代码*/ … OSTaskDel(OS_PRIO_SELF); } 2)任务函数是一个无限循环。 void myTask(void *pdata) { for (;;) { /*等待邮箱消息 */ OS
您可能关注的文档
- 基础会计实务 戚素文 周东黎 课件6新.ppt
- 基础会计实训 李金茹 赵宁 温艳红 学习情境六新.ppt
- 基础会计学 曾璐 第2章 会计科目与账户新.ppt
- 基础会计学 曾璐 第4章 制造业企业一般经济业务核算举例新.ppt
- 基础会计学 曾璐 第8章 编制报表前的准备工作新.ppt
- 基础会计学 曾璐 第9章 财务会计报告新.ppt
- 基础会计学 曾璐 第10章 会计核算组织程序新.ppt
- 基础会计学 第2版 朱学义 基会5章 帐户分类新.ppt
- 基础会计学 尤谊 第八章会计报表新.ppt
- 基础会计学 尤谊 第二章新.ppt
- 教学设计案例模板范文(实用6篇).pdf
- 小学音乐_小学二年级人教版音乐第四单元欣赏《宜兰童谣》教学设计学情分析教材分析课后反思.pdf
- 材料力学_西北工业大学中国大学mooc课后章节答案期末考试题库2023年.pdf
- 小学体育教案模板集锦8篇精编范本.pdf
- 小学生阅读能力测试题含参考答案.pdf
- 比例以及比例尺应用题(含答案).pdf
- 山西省吕梁市孝义市2022-2023学年八年级下学期期中质量监测数学试卷(含解析).pdf
- 河北 2023年真题模拟考试:人力资源管理(一)真题模拟汇编(共328题).pdf
- 湖北省天门市多宝镇第二中学2023年数学三下期末综合测试试题含解析.pdf
- 新教科版六年级上册科学期末考试试卷含解析答案.pdf
文档评论(0)