- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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:
您可能关注的文档
最近下载
- 华东师大版八年级数学上册《作一个角等于已知角》教案及教学反思.docx VIP
- 【真题】河南省2025年对口升学(语文、英语)考试真题卷 完整版2025.pdf VIP
- 中心吸氧装置出现故障的应急预案.pptx VIP
- 13.4.2作一个角等于已知角展示课件数学八年级上册.pptx VIP
- 梦幻西游手游科举乡试会试答案大全 乡试答题器.pdf VIP
- QB∕T 5617-2021 单层床通用技术条件 .pdf
- 设备采购与管理作业指导书(设备采购类).doc VIP
- 2022 ASHRAE Handbook Refrigeration. SI edition标准原版完整.docx
- 教职工请假单(部门存根)(模板).pdf VIP
- 学校篮球比赛报名表的表格打印模板文档.xlsx VIP
文档评论(0)