您好,欢迎访问三七文档
1.在μC/OS-Ⅱ系统中,下面哪个不能用来实现任务间通信()。A.SemB.MboxC.MutexD.Mem2.OSFlagPost(FlagPtr,9,OS_FLAG_CLR,&err)实现的功能是()A.等待事件标志组FlagPtr中第0、3位,当都为0时,使任务进入就绪。B.等待事件标志组FlagPtr中第0、3位,当都为1时,使任务进入就绪。C.对事件标志组FlagPtr发送信号,将第0、3位置1D.对事件标志组FlagPtr发送信号,将第0、3位清03.RTOS的中文解释为。4.μC/OS-Ⅱ的特点包括源代码公开、、可剥夺等。5.OSInit()函数的功能是:。6.任务的组成包括任务代码、和。7.优先级为2、6、14、18、21、22的任务处在就绪态,那么OSRdyGrp、OSRdyTbl[1]和OSRdyTbl[2]的值分别为。8.μC/OS-Ⅱ调度的思想是:。9.OSMemGet()函数实现的功能是:。10.OSMemPut()函数用来从已经建立的内存分区中申请一个内存块。()11.OSSemCreate()函数用来创建一个消息邮箱事件。()12.在C/OS–Ⅱ系统中,任务可以返回。()13.在C/OS–Ⅱ系统中,任务的返回类型必须定义成char型。()14.C/OS–Ⅱ系统中,OS_SEM.C是消息邮箱管理文件,提供相关服务。()15.时钟节拍器开启的正确位置可以是。16.OSSemPend(p,0,&err)与OSSemPend(p,300,&err)的区别:。17.请用ucos的延时函数实现3秒的延时:。18.用信号量标识某个事件的发生,在创建信号量时,应赋与的计数初值为。19.什么是优先级反转?μC/OS-Ⅱ是如何解决优先级反转的?20.什么是临界区?μC/OS-Ⅱ如何保护临界区代码?21.分别描述信号量、互斥信号量、消息邮箱、消息队列、事件标志组的应用场合。22.voidTaskStartCreateTasks(void){INT8Ui;for(i=0;iN_TASKS;i++){TaskData[i]=i;OSTaskCreate(Task0,(void*)&TaskData[0],&TaskStk[0][TASK_STK_SIZE-1],5);}voidTask0(void*pdata){INT8Ui;INT8Uerr;i=*(int*)pdata;for(;;){printf(%d\n\r,i);……}请问屏幕输出。23.μC/OS-Ⅱ移植的具体过程包括几个部分?24.描述任务的组成以及每个部分的功能25.程序填空题:设计一个μC/OS-Ⅱ应用程序,该程序有两个任务SendTask和ReceiveTask,在任务SendTask中用一个变量Times记录任务SendTask的运行次数,并将其作为消息用邮箱Str_Mbox发给任务ReceiveTask且由ReceiveTask显示出来。(假定硬件初始化函数为UCOS_CPU_INIT();开启时钟中断函数为UCOS_TIMER_START(),请填空把程序补充完整)int*s;INT8Uerr;INT32UTimes=0;#defineTASK_STK_SIZE512OS_STKSendTaskStk[TASK_STK_SIZE];;//定义ReceiveTask任务堆栈区;//定义邮箱事件voidSendTask(void*data);voidReceiveTask(void*data);voidmain(void){OSInit();UCOS_CPU_INIT();;//创建邮箱;//创建SendTask任务;//创建ReceiveTask任务OSStart();}voidSendTask(void*pdata){UCOS_TIMER_START();for(;;){;//计算运行次数*s=Times;;//发送消息;//等待100个时钟节拍}}voidReceiveTask(void*pdata){int*ss;pdata=pdata;for(;;){;//接收邮箱消息printf(ThenumofMessageis%d\n,*ss);;//等待1秒}}26.编写基于μC/OS-Ⅱ的应用程序,实现功能如下:创建三个任务:Task0、Task1、Task2Task0产生一个信号A(必须是输出5次‘A’字符后);Task1产生一个信号B(必须是输出5次‘B’字符后);Task2显示字符‘C’,但是运行的条件是A、B两个信号都有效,在得到期望的标志位后,恢复相应的标志位。
本文标题:ucos复习题目
链接地址:https://www.777doc.com/doc-5556348 .html