嵌入式开发者社区
标题:
Umsg_get函数的等待时间怎么设置呢?
[打印本页]
作者:
moontiger564
时间:
2016-8-11 15:46
标题:
Umsg_get函数的等待时间怎么设置呢?
我看了Umsg例程里面的Ptr Umsg_get(Umsg_Handle handle) 这个函数。发现这个函数在接收消息的时候,如果邮箱里面是空的,他就一直在那等待,知道有新的消息过来了这个函数才能继续往下走?
! n8 b$ F* ~# C O
我的疑问是:1.如果不想一直等待在那里,怎么设置它的等待时间呢?
( z9 v4 w( e( u* p
2.如果一直等待在那里?那么这个任务是不是就像信号量挂起pend那种一样,别的优先级低的任务还是可以执行的?还是说就一直停在这里,别的优先级低的任务也不能执行了?
2 X6 l/ A- ]& ?8 X
, J4 F; o" m! C. ~
( u- b; n0 `: n- Q+ R% T
作者:
tenny
时间:
2016-8-12 14:59
单线程挂起
作者:
moontiger564
时间:
2016-8-12 15:18
tenny 发表于 2016-8-12 14:59
4 W: }3 T) W. S; q, S4 T) L
单线程挂起
6 e5 n* \7 O, a1 Y% m) t
那请问下,我如果想用umsg_get()函数在邮箱为空的时候不要一直等下去的话,我应该怎么设置这个等待时间呢?就像MessageQ_get()函数那样。因为我看资料介绍说umsg跟MessageQ是基本类似的模块。
' Y& B- l4 Y, ?7 ~# a+ w
但是Ptr Umsg_get(Umsg_Handle handle);
$ {* U- g) \' K0 ^8 ^ P: Q
MessageQ_get(MessageQ_handle handle, MessageQ_msg *msg UINT timeout);
# _6 U9 T& l6 v' x' `
这两个函数里面的下面那个有timeout设置。所以我想请问:Umsg_get怎么设置timeout这个参数?
作者:
tenny
时间:
2016-9-1 08:35
抱歉,现在才看到你的回帖。不知你问题解决了没。可以参看下官方 Umsg例程里面的文档
作者:
moontiger564
时间:
2016-9-1 09:16
你好,目前还是不能修改timeout时间,我看过例程文档了,里面也没有提到timeout时间,里面都是直接用的,就是作为一只等待下去这样用,如果没有消息,那就一直在这里挂起。具体怎么设置成不挂起,我还没有找到答案。
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4