您的位置:首页 > 其它

uc/os-II之向消息邮箱发送消息

2012-10-31 19:49 204 查看
共有三种方式想消息邮箱发送消息:

(1)OSQPost():以FIFO(先进先出)的方式组织消息队列。

(2)OSQPostFront():以LIFO(后进先出)的方式组织消息队列。

(3)OSQPostOpt():以广播的组织消息队列。

第一,二中函数原型是一样,

INT8U OSQPost(

OS_EVENT * pevent, //消息队列的指针

void * msg //消息指针,即待发信息的指针

);

第三个函数原型

INT8U OSQPostOpt(

OS_EVENT * pevent,

void * msg,

INT8U opt //广播选项,即如果值为OS_POST_OPT_BROADCAST,则等待该消息队列的所有任务都会收到消息

);

OS_EVENT的定义:

typedef struct

{

INT8U OSEventType; //事件类型(表明它是消息队列还是消息邮箱还是……)

INT16U OSEventCnt; //信号量统计器

void * OSEventPtr; //消息或消息队列的指针

INT8U OSEventGrp; //等待事件的任务组

INT8U OSEventTbl[OS_EVENT_TBL_SIZE]; //任务等待表

}OS_EVENT;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: