Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
rt_mq_消息队列_msg_queue
消息队列接收函数参数如何理解
发布于 2022-01-09 14:47:00 浏览:967
订阅该版
```c while (1) { switch (DialysisInfo.mBCMode) { case BC_NORMAL: uwRet = rt_mq_recv(mq_dialysis, /* 读取(接收)队列的ID(句柄) */ &tempMsg, /* 读取(接收)的数据保存位置 */ sizeof(tempMsg), /* 读取(接收)的数据的长度 */ (DialysisInfo.mBCPeriod + 1000)); /* 等待时间:一直等 */ break; case BC_FILL: uwRet = rt_mq_recv(mq_dialysis, /* 读取(接收)队列的ID(句柄) */ &tempMsg, /* 读取(接收)的数据保存位置 */ sizeof(tempMsg), /* 读取(接收)的数据的长度 */ DialysisInfo.mBCPeriod); /* 等待时间:一直等 */ break; default: break; } ``` DialysisInfo.mBCPeriod代表自己设定的时间:比如三秒,为何只是往mq_dialysis这个消息队列中发送一次数据(数据为BC_FILL),但是会一直运行这个函数。
查看更多
出出啊
2022-01-09
恃人不如自恃,人之为己者不如己之自为也
先看这里的简单说明 [rt-thread 使用宝典(2021-1210更新)](https://club.rt-thread.org/ask/article/3186.html) 队列嘛,只用调用一个就够了,不需要用 switch 搞区分,`rt_mq_recv` 第三个参数是函数等待(阻塞)时间,你设定了阻塞时间,那么时间 timeout 的时候没有消息就会从 `rt_mq_recv` 函数返回,uwRet 的值就是 `-RT_ETIMEOUT`。所以这样就会出现没有往消息队列发送数据,但是它会一直运行的现象。 第三个参数是 -1 或者 RT_WAITING_FOREVER 的时候就会永久阻塞,只有给消息队列发消息才会从阻塞中返回。
2
个回答
默认排序
按发布时间排序
lgh5164
2022-01-09
这家伙很懒,什么也没写!
if (RT_EOK == uwRet) { ........ } if (-RT_ETIMEOUT == uwRet) { ........ } 下面的代码是这样的
撰写答案
登录
注册新账号
关注者
0
被浏览
967
关于作者
lgh5164
这家伙很懒,什么也没写!
提问
4
回答
1
被采纳
0
关注TA
发私信
相关问题
1
rt_object_init中报assertion failed错误?
2
在 MDK中的NANO 里创建消息队列失败,内存堆已开启
3
如何用消息队列传递结构体数据
4
消息队列满了以后接收乱码
5
消息队列传输不定长数据
6
使用消息队列在线程中发送总失败
7
初始化第二个消息队列时发生硬件错误
8
rtthread消息队列一对多的情况
9
消息队列为什么会出现获取到的内容有旧的数据?
10
通过消息队列名称,获取消息队列句柄
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
2024 RT-Thread睿赛德开发者大会共探商业共赢的开源生态
2
rt-thread 小内存算法源码分析
3
env中添加lvgl软件包后,keil编译包--c99错误
4
【NXP-MCXA153】 定时器驱动移植
5
GD32F450 看门狗驱动适配
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
freemodbus
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
Debug
中断
编译报错
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
20
个答案
3
次被采纳
红枫
8
个答案
2
次被采纳
踩姑娘的小蘑菇
7
个答案
2
次被采纳
三世执戟
7
个答案
1
次被采纳
Ryan_CW
5
个答案
1
次被采纳
本月文章贡献
YZRD
3
篇文章
6
次点赞
catcatbing
3
篇文章
6
次点赞
lizimu
2
篇文章
12
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部