RT-Thread 线程间通信 消息队列(2)

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

知道了消息队列的原理,创建消息队列搭建了一个什么东西,就好理解其他几个操作的函数的含义了。

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)      //消息
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值