Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
rt_mq_消息队列_msg_queue
消息队列接收函数参数如何理解
发布于 2022-01-09 14:47:00 浏览:745
订阅该版
```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
被浏览
745
关于作者
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
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
stm32f103的adc+dma多通道采集数据
2
恩智浦FRDM-MCX947上的 IIC(硬件) 实践
3
栈溢出及中断向量偏移BUG记录与分析
4
NXP MCXN947测评之 adc
5
NXP MCXN947测评: rt-thread中配置启动PWM
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
CAN总线
Hardfault
FinSH
USB
文件系统
RT-Thread
DMA
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
cubemx
flash
I2C
UART
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
BSP
ADC
keil_MDK
socket
中断
编译报错
MicroPython
Debug
SDIO总线
GD32
rt_mq_消息队列_msg_queue
ulog
C++_cpp
SFUD
flashDB
本月问答贡献
xiaorui
20
个答案
3
次被采纳
Juggernaut
12
个答案
3
次被采纳
踩姑娘的小蘑菇
11
个答案
2
次被采纳
小小李sunny
10
个答案
2
次被采纳
a1012112796
8
个答案
1
次被采纳
本月文章贡献
ZVML_9668
4
篇文章
6
次点赞
Lu_盼盼
4
篇文章
3
次点赞
Z_Y
3
篇文章
5
次点赞
ThinkCode
2
篇文章
2
次点赞
oxlm
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部