欢迎来到天天文库
浏览记录
ID:37344260
大小:116.50 KB
页数:32页
时间:2019-05-22
《μCOS-II中OS_Q.C源码中文注释版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、xilentz的网络文摘博客园 首页 新随笔 联系 订阅 管理随笔-204 文章-0 评论-10 trackbacks-0OS_Q.C/*********************************************************************************************************** uC/OS-II*
2、 TheReal-TimeKernel* MESSAGEQUEUEMANAGEMENT** (c)Copyright1992-2002,JeanJ.Labrosse,Weston,FL* AllRightsReserved**File:OS_Q.C*By :JeanJ.Labrosse********************************
3、**************************************************************************/#ifndef OS_MASTER_FILE//防止编译器包含一些代码#include"includes.h"#endif#if(OS_Q_EN>0)&&(OS_MAX_QS>0)/***********************************************************************************************************
4、 ACCEPTMESSAGEFROMQUEUE**Description:Thisfunctionchecksthequeuetoseeifamessageisavailable. UnlikeOSQPend(),* OSQAccept()doesnotsuspendthecallingtaskifamessageisnotavailable.**Arguments :pevent isapointertotheeventcontrolblock**Return
5、s :!=(void*)0 isthemessageinthequeueifoneisavailable. Themessageisremoved* fromthesothenexttimeOSQAccept()iscalled,thequeuewillcontain* onelessentry.* ==(void*)0 ifthequeueisemptyor,* if'p
6、event'isaNULLpointeror,* ifyoupassedaninvalideventtype**********************************************************************************************************/#ifOS_Q_ACCEPT_EN>0void *OSQAccept(OS_EVENT*pevent){#ifOS_CRITICAL_METHOD==3
7、 /*AllocatestorageforCPUstatusregister */ OS_CPU_SR cpu_sr;#endif void *msg; OS_Q *pq;#ifOS_ARG_CHK_EN>0 if(pevent==(OS_EVENT*)0){ /*Validate'pevent' */ return((void*)0); } if(pevent->OSEventType!=
8、OS_EVENT_TYPE_Q){/*Validateeventblocktyp
此文档下载收益归作者所有