查看: 3310|回复: 2

[MQX] mqx系统下,如何使用消息队列?

[复制链接]

该用户从未签到

51

主题

307

帖子

0

高级会员

Rank: 4

积分
651
最后登录
2020-9-4
发表于 2016-12-15 16:23:56 | 显示全部楼层 |阅读模式
大侠好 ,
我在程序中使用消息队列,如下
#define NUM_S_MESSAGES  8
#define MSG_SIZE      8
static _mqx_uint Test_queue[4][sizeof(LWMSGQ_STRUCT)/sizeof(_mqx_uint) +
   NUM_S_MESSAGES * MSG_SIZE];
初始化:
result = _lwmsgq_init((void *)Test_queue[param], NUM_S_MESSAGES, MSG_SIZE);
   if (result != MQX_OK) {
      // lwmsgq_init failed
   } /* Endif */
   
接收
result = _lwmsgq_receive((void *)Test_queue[param], msg[param], LWMSGQ_RECEIVE_BLOCK_ON_EMPTY, 0, 0);
      if (result == MQX_OK)
      {     
发送
result = _lwmsgq_send((void *)Test_queue[param], Pmsg[param], LWMSGQ_SEND_BLOCK_ON_FULL);
  if(result != MQX_OK)

我的问题是,我觉得我的Test_queue【param】有点小,如果我想增加消息队列的大小,是不是增加NUM_S_MESSAGES 就可以了?
怎么改变其大小呢?



我知道答案 目前已有2人回答
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2020-4-26 22:12
  • 签到天数: 586 天

    连续签到: 1 天

    [LV.9]以坛为家II

    1

    主题

    1620

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    3240
    最后登录
    2020-4-26
    发表于 2016-12-16 08:57:33 | 显示全部楼层
    签到啦,签到啦
    2020加油
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    723

    主题

    6382

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    25494
    最后登录
    2025-9-9
    发表于 2016-12-16 10:33:04 | 显示全部楼层
    是的, 楼主可以根据自己的需要 来设置 NUM_S_MESSAGES  和  MSG_SIZE。只要保证有足够的内存容纳  msg_size * sizeof (_mqx_max_type) + sizeof LWMSGQ_STRUCT 就可以了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-11 05:45 , Processed in 0.151584 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表