硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1695|回复: 5
收起左侧

[RL-RTX] RTX 邮箱返回值异常问题

[复制链接]

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2019-9-6 16:09:01 | 显示全部楼层 |阅读模式
各位大佬:

目前的开发环境是STM32L071+RTX V4.7+KEIL。在使用邮箱进行任务间的通信时发现,在使用函数os_mbx_wait等待消息时,msg的地址已经不为NULL,函数返回值result为1(OS_R_TMO),即超时,各位有遇到过?

  uint16 *msg = NULL;

   result = os_mbx_wait (mailbox1, (void *)&msg, 1000);

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2019-9-6 16:27:10 | 显示全部楼层
你说的msg地址是指的&msg,还是msg为null
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2019-9-6 16:46:18 | 显示全部楼层
eric2013 发表于 2019-9-6 16:27
你说的msg地址是指的&msg,还是msg为null

硬汉,你好!

是msg不为null,
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2019-9-6 16:58:13 | 显示全部楼层
eric2013 发表于 2019-9-6 16:27
你说的msg地址是指的&msg,还是msg为null

硬汉,你好,我发现把函数os_mbx_wait的超时时间设置为0,这样在另一个任务发送消息时,函数os_mbx_wait的返回值就会为0,并且msg的值不为空,原因未名!

os_mbx_wait (mailbox1,  (void *)&msg,  0);
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2019-9-6 17:49:54 | 显示全部楼层
wuying 发表于 2019-9-6 16:58
硬汉,你好,我发现把函数os_mbx_wait的超时时间设置为0,这样在另一个任务发送消息时,函数os_mbx_wait ...

上完整测试代码。仅RTX部分即可,我试试
回复

使用道具 举报

3

主题

1222

回帖

1231

积分

至尊会员

积分
1231
发表于 2019-9-8 10:14:41 | 显示全部楼层
1000  不知是1000个tick还是1000毫秒,  超时收不到,不设定超时可以收到,要看你的发送方了,所以硬汉老大要看你的源码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 11:58 , Processed in 0.287972 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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