知道了消息队列的原理,创建消息队列搭建了一个什么东西,就好理解其他几个操作的函数的含义了。
1、消息队列的创建:
rt_mq_t rt_mq_create(const char * name, //消息队列的名称
rt_size_t msg_size, //消息队列中一条消息的最大长度,单位字节
rt_size_t max_msgs, //消息队列的最大个数
rt_uint8_t flag) //消息队列采用的等待方式
//可以取值:RT_IPC_FLAG_FIFO
// 或RT_IPC_FLAG_PRIO
创建消息队列,根据给的几个参数,创建一个空闲的消息队列,组成消息块链表,
内存的大小= [消息大小+消息头(用于链表连接)] *消息队列最大个数
返回消息队列的句柄
rt_err_t rt_mq_init(rt_mq_t mq, //消息队列句柄
const char *name, //消息队列名称
void *msgpool, //存放消息队列区域的地址的指针
rt_size_t msg_size, //消息队列中一条消息的最大长度,单位字节
rt_size_t pool_size, //存放消息的缓冲区大小
rt_uint8_t flag) //消息

本文详细介绍了如何在系统中创建、初始化消息队列,以及发送和接收消息的函数机制,包括超时处理和线程调度。
最低0.47元/天 解锁文章
2045

被折叠的 条评论
为什么被折叠?



