任务的基本管理 实验报告_第1页
任务的基本管理 实验报告_第2页
任务的基本管理 实验报告_第3页
任务的基本管理 实验报告_第4页
任务的基本管理 实验报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验题目任务的基本管理学院名称:电子与信息工程学院专业:x实验目的:理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程;掌握瓦/OS-II中任务管理的基本方法(创建、启动、挂起、解挂任务);熟练使用瓦/OS-II任务管理的基本系统调用。实验内容:为了展现任务的各种基本状态及其变迁过程,本实验需要各位设计两个任务:任务TaskO控制2个LED,以0.5S为周期闪烁,任务Taskl在TaskO中创建,控制2个LED,以1S为周期闪烁,5S后Taskl将自己删除。观察实验现象。实验原理:OSTaskCreate()建立一个新任务。任务的建立可以在多任务环境启动之前,也可以在正在运行的任务中建

2、立。中断处理程序中不能建立任务。一个任务可以为无限循环的结构。函数原型:INT8UOSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INT8Uprio);参数说明:task是指向任务代码首地址的指针。Pdata指向一个数据结构,该结构用来在建立任务时向任务传递参数。OSTaskSuspend()无条件挂起一个任务。调用此函数的任务也可以传递参数OS_PRIO_SELF,挂起调用任务本身。当前任务挂起后,只有其他任务才能唤醒被挂起的任务。任务挂起后,系统会重新进行任务调度,运行下一个优先级最高的就绪任务。唤醒挂起任务需要调用函数OS

3、TaskResume()。OSTaskResume()唤醒一个用OSTaskSuspend()函数挂起的任务。OSTaskResume()也是唯一能“解挂”挂起任务的函数。实验步骤:打开uCOS的空白模版修改主程序使其达到实验内容的要求并仿真直至程序无误将程序烧入试验箱中,运行,观察实验结果;实验程序:(省略头文件和部分定义)删除任务:/*任务1*/staticvoidLedTask1(void*p_arg)#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endifOSTaskCreateExt(void(*)(void*)LedTask2,(void*)0

4、,(OS_STK*)&LED_2_StkAPP_CFG_TASK_START_STK_SIZE-1,(INT8U)LED_2,(INT16U)LED_2,(OS_STK*)&LED_2_Stk0,(INT32U)APP_CFG_TASK_START_STK_SIZE,(void*)0,(INT16U)(OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR);while(1)OS_ENTER_CRITICAL();OSTimeDlyHMSM(0,0,0,500);LED_ON_16();LED_ON_17();OSTimeDlyHMSM(0,0,0,500);LED_O

5、FF_16();LED_OFF_17();OS_EXIT_CRITICAL();/*任务2*/staticvoidLedTask2(void*p_arg)inti;#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endiffor(i=0;i5;i+)OS_ENTER_CRITICAL();OSTimeDlyHMSM(0,0,1,0);LED_ON_18();LED_ON_19();OSTimeDlyHMSM(0,0,1,0);LED_OFF_18();LED_OFF_19();OS_EXIT_CRITICAL();OSTaskDel(OS_PRIO_SELF

6、);挂起和恢复:/*任务1*/staticvoidLedTask1(void*p_arg)INT8Us=0;#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endifOSTaskCreateExt(void(*)(void*)LedTask2,(void*)0,(OS_STK*)&LED_2_StkAPP_CFG_TASK_START_STK_SIZE-1,(INT8U)LED_2,(INT16U)LED_2,(OS_STK*)&LED_2_Stk0,(INT32U)APP_CFG_TASK_START_STK_SIZE,(void*)0,(INT16U)(

7、OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR);while(1)OS_ENTER_CRITICAL();OSTimeDlyHMSM(0,0,0,500);LED_ON_17();LED_ON_18();OSTimeDlyHMSM(0,0,0,500);LED_OFF_17();LED_OFF_18();OS_EXIT_CRITICAL();s+;if(s=10)OSTaskResume(LED_2);/*任务2*/staticvoidLedTask2(void*p_arg)INT8Un=0;#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endifwhile(1)OS_ENTER_CRITICAL();OSTimeDlyHMSM(0,0,1,0);LED_ON_19();LED_ON

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论