全文预览

嵌入式系统原理及接口技术考试题库

上传者:业精于勤 |  格式:doc  |  页数:10 |  大小:113KB

文档介绍
错误信息);查询信号量集的状态OS_FLAGSOSFlagQuery( OS_FLAG_GRP*pgrp,?//待查询的信号量集的指针 INT8U*err //错误信息);删除信号量集OS_FLAGS*OSFlagDel( OS_FLAG_GRP*pgrp,?//待删除的信号量集的指针 INT8U*err //错误信息);两个创建任务的函数:OSTaskCreate()和OSTaskCreateExt()。INT8U  OSTaskCreate(void(*task)(void*pd),//指向任务的指针     void*pdata,     //传递给任务的参数          OS_STK*ptos,   //指向任务堆栈栈顶的指针           INT8Uprio)  任务切换三、OS_Sched()::OS_Sched()函数被各种任务间通信函数如xxxPost()和xxxPend()调用,OS_Sched()函数调用更底层的函数OS_TASK_SW()来实现任务切换,OS_Sched()函数的源代码如下:voidOS_Sched(void){#ifOS_CRITICAL_METHOD==3OS_CPU_SRcpu_sr;#endifINT8Uy;OS_ENTER_CRITICAL();if((OSIntNesting==0)&;&;(OSLockNesting==0)){y=OSUnMapTbl[OSRdyGrp];OSPrioHighRdy=(INT8U)((y<<3)+OSUnMapTbl[OSRdyTbl[y]]);if(OSPrioHighRdy!=OSPrioCur){OSTCBHighRdy=OSTCBPrioTbl[OSPrioHighRdy];OSCtxSwCtr++;OS_TASK_SW();}}OS_EXIT_CRITICAL();}

收藏

分享

举报
下载此文档