ucosII实验资料报告材料.doc

ucosII实验资料报告材料.doc

ID:57448757

大小:969.66 KB

页数:66页

时间:2020-08-20

ucosII实验资料报告材料.doc_第1页
ucosII实验资料报告材料.doc_第2页
ucosII实验资料报告材料.doc_第3页
ucosII实验资料报告材料.doc_第4页
ucosII实验资料报告材料.doc_第5页
资源描述:

《ucosII实验资料报告材料.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验1《任务的创建、删除、挂起、恢复》实验学时:2实验地点:二综x203实验日期:2013/12/13一、实验目的1.实验环境的建立2.任务的接口函数的应用二、实验容1.设计一个只有一个任务Task1,当程序运行后任务的工作就是每秒在显示器上显示一个字符“M”。2.在任务Task1中在创建一个任务Task2。当程序运行后,任务Task1的工作在显示器上显示一个字符“M”;Task2则是在显示器上显示字符“Y”。3.要求任务Task2运行20次后,挂起任务Task1;任务Task2运行40次后,恢复任务Task1。4.当任务Task1运行5次时,用函数OSSchedLo

2、ck()对调度器进行加锁;而当任务Task1运行到第10次时,再用函数OSSchedUnlock()对调度器进行解锁,并运行该程序。5.使任务Task1能删除任务Task2。三、实验方法包括实验方法、原理、技术、方案等。四、实验步骤1.将BC45文件夹拷贝到C分区根目录下。2.将software文件夹拷贝到任意分区根目录下。3.分别完成实验1、2、3、4、5五、实验结果1.DOS窗口每秒显示一个字符“M”。每行显示10个“M”字符,行与行的间隔是一行。按ESC键程序退出2.DOS窗口交替显示字符"M"和“Y”,每隔一秒显示一次。每行显示10个字符,行与行之间的间隔是一

3、行。按ESC键程序退出3.DOS窗口开始交替显示字符"M"和“Y”,显示20次以后,Task1挂起,只显示“Y”,当Task2运行40次以后,Task1恢复,然后开始Task1,Task2交替运行。4.DOS窗口开始交题显示字符"M"和“Y”,显示5次以后,Task1将任务调度器上锁,此时只有“M”打印,当Task1运行10次后,Task1,Task2开始交替运行。5.DOS窗口开始交替显示字符“M”和“Y”,显示10次后,只显示“Y”六、实验结论对实验数据和结果进行分析描述,给出实验取得的成果和结论。1.程序:/*********Exercise2-1*author

4、:csuchenan*time:2013-12-12********/#include"includes.h"#defineTASK_STK_SIZE256OS_STKMyTaskStk[TASK_STK_SIZE];INT16Skey;INT8Ux=0,y=0;voidMyTask(void*pdata){#ifOS_CRITICAL_METHOD==3OS_CPU_SRcpu_sr;#endifpdata=pdata;OS_ENTER_CRITICAL();PC_VectSet(0X08,OSTickISR);PC_SetTickRate(OS_TICKS_PER

5、_SEC);OS_EXIT_CRITICAL();OSStatInit();for(;;){if(x>10){x=0;y=y+2;}PC_DispChar(x,y,*(char*)pdata,,DISP_BGND_BLACK+DISP_FGND_WHITE);x=x+1;if(PC_GetKey(&key)==1){if(key==0x1B){PC_DOSReturn();}}OSTimeDlyHMSM(0,0,1,0);}}voidmain(void){char*ch="M";OSInit();PC_DOSSaveReturn();PC_VectSet(uCOS,O

6、SCtxSw);PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK);OSTaskCreate(MyTask,ch,&MyTaskStk[TASK_STK_SIZE-1],0);OSStart();}2.程序源代码:/*********Exercise2-2*author:csuchenan*time:2013-12-13********/#include"includes.h"#defineMy_TASK1_STK_SIZE256#defineMy_TASK2_STK_SIZE256OS_STKMyTask1Stk[My_TA

7、SK1_STK_SIZE];OS_STKMyTask2Stk[My_TASK2_STK_SIZE];INT16Skey;INT8Ux=0,y=0;voidMyTask2(void*pdata){#ifOS_CRITICAL_METHOD==3OS_CPU_SRcpu_sr;#endifpdata=pdata;OS_ENTER_CRITICAL();PC_VectSet(0x80,OSTickISR);PC_SetTickRate(OS_TICKS_PER_SEC);OS_EXIT_CRITICAL();for(;;){if(x>10){x=0;y=y

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。