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;
(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;
相关文章推荐
- uc/os-ii 实验6:消息邮箱(2)
- uC/OS-II 学习笔记之:信号量、消息邮箱、消息队列之间的使用区别
- uC/OS-II消息邮箱及其操作
- 【iCore4 双核心板_uC/OS-II】例程八:消息邮箱
- uC/OS-II中的消息邮箱
- uc/os-ii消息邮箱
- uc/os-II 分析(9)---消息邮箱
- uC/OS-II 学习笔记之:消息邮箱
- uC/OS-II 学习笔记:消息邮箱实验
- uC/OS-II中的消息邮箱
- uC/OS-II 学习笔记:消息邮箱
- uC/OS-II 函数之消息队列相关函数
- uC/OS-II 函数之消息队列相关函数
- uC/OS-II 学习笔记:消息队列
- uC/OS-II实验程序之二(消息邮箱)
- uC/OS 的消息邮箱——uC/OS学习笔记(五)
- 【iCore4 双核心板_uC/OS-II】例程九:消息队列
- uC/OS-II V2.86 发送和等待一个队列消息的工作原理
- uc/os-ii消息队列
- UC/OS II消息队列管理实例