嵌入式实时操作系统RTOSuCOS_II原理及其应用.ppt

嵌入式实时操作系统RTOSuCOS_II原理及其应用.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
山东科技大学 信息学院 * * 2.5 任务的创建 创建任务的示意代码 void main( ) { … … //主要是系统硬件初始化 OSInit( ); // uC/OS-II 初始化 … … //创建消息机制 OSTaskCreate(Task_A,……); // 创建任务A OSStart( ); // 启动多任务调动 } void Task_A(void * pdata) //任务A { …… // 安装并启动 uC/OS-II 系统时钟 OSStatInit( ); // 初始化统计任务(如果需要的话) …… // 在此处可以创建其他任务 For ( ; ; ) // Task_A 任务体 { …… } } 山东科技大学 信息学院 * * 两个延时函数的原型: void OSTimeDly( INT16U ticks ) /* ticks 是节拍数 */ INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli) /* 绝对时间延时,位于OS_TIME.C */ 备注: 1、参数值域 hours255, minutes59, seconds59, milli999 2、这两个系统函数定义在OS_TIME.C文件中。 3、关于节拍周期定义在OS_CFG.H文件中。 补充:任务延时系统函数。 山东科技大学 信息学院 * * 实验1: 创建两个任务; Task_A 控制一位LED秒闪。 Task_B 控制蜂鸣器每3S鸣1.5S。 1、学习创建任务操作编程; 2、体验延时函数的使用; 3、体验多任务系统设计基本方式; 实验目的: 山东科技大学 信息学院 * * 第2章 目录 1、任务的基本概念 2、任务堆栈 3、任务控制块及任务控制块链表 4、任务就绪表及任务调度 5、任务的创建 6、任务的挂起和恢复 7、其他任务管理函数 8、uC/OS-II的初始化和任务的启动 山东科技大学 信息学院 * * 2.6 任务的挂起和恢复 所谓的挂起一个任务,就是暂停这个任务的调度。 挂起任务的 TCB 还存在系统中,只是该任务的状态是 “挂起” ,对挂起态的任务uC/OS-II不再调度运行。 挂起的任务恢复后即可参与uC/OS-II的任务调度。 uC/OS-II中,可挂起除 “空闲任务”(OSTaskIdel( )) 外的任何任务。 挂起/恢复使用系统函数OSTaskSuspend( ) / OSTaskResume( ) 实现。 山东科技大学 信息学院 * * 2.6 任务的挂起和恢复 挂起任务函数原型 INT8U OSTaskSuspend( INT8U prio ); 本函数的参数、返回值及含义: 用优先级指定目标,挂起自身时使用OS_PRIO_SELF OS_NO_ERR 完成指定任务的挂起。 OS_TASK_SUSPEND_IDEL 不能挂起空闲任务。 OS_PRIO_INVALID 无效的任务(优先级)指定。 OS_TASK_SUSPEND_PRIO 指定的任务不存在。 山东科技大学 信息学院 * * 2.6 任务的挂起和恢复 恢复任务函数原型 INT8U OSTaskResume( INT8U prio ); 本函数的参数、返回值及含义: 用优先级指定目标。 OS_NO_ERR 完成指定任务的恢复。 OS_TASK_RESUME_PRIO 优先级指定的任务不存在。 OS_PRIO_INVALID 无效的任务(优先级)指定。 OS_TASK_NO_SUSPEND 指定的任务不是挂起态。 山东科技大学 信息学院 * * 第2章 目录 1、任务的基本概念 2、任务堆栈 3、任务控制块及任务控制块链表 4、任务就绪表及任务调度 5、任务的创建 6、任务的挂起和恢复 7、其他任务管理函数 8、uC/OS-II的初始化和任务的启动 山东科技大学 信息学院 * * 2.7 其他任务管理函数 修改任务优先级别函数原型 INT8U OSTaskChangePrio( INT8U oldprio, INT8U newprio ); 函数说明: 在任务运行时,修改任务的优先级。 功能正确完成,函数返回 OS_NO_ERR。 OS_PRIO_INVALID 指定的 prio 越界。 OS_PRIO_EXIST newprio 已在用。 OS_PRIO_ERR oldprio 不存在。 山东科技大学 信息学院 * * 实验2:

文档评论(0)

lyxbb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档