嵌入式开发者社区

标题: Umsg_get函数的等待时间怎么设置呢? [打印本页]

作者: moontiger564    时间: 2016-8-11 15:46
标题: Umsg_get函数的等待时间怎么设置呢?
我看了Umsg例程里面的Ptr Umsg_get(Umsg_Handle handle) 这个函数。发现这个函数在接收消息的时候,如果邮箱里面是空的,他就一直在那等待,知道有新的消息过来了这个函数才能继续往下走?
" g/ j3 U2 e2 H* `我的疑问是:1.如果不想一直等待在那里,怎么设置它的等待时间呢?% V( K" i  Q/ v8 ?
2.如果一直等待在那里?那么这个任务是不是就像信号量挂起pend那种一样,别的优先级低的任务还是可以执行的?还是说就一直停在这里,别的优先级低的任务也不能执行了?
) f1 ?, A; ?/ g# n0 \% C
- G" E& k( o7 g  u  x
5 k- H! b$ R8 k3 y) B% E$ ~; [
作者: tenny    时间: 2016-8-12 14:59
单线程挂起
作者: moontiger564    时间: 2016-8-12 15:18
tenny 发表于 2016-8-12 14:59* {$ d( j1 h  ^1 l8 h
单线程挂起

6 S; v+ D# \' F+ C# a5 @& S那请问下,我如果想用umsg_get()函数在邮箱为空的时候不要一直等下去的话,我应该怎么设置这个等待时间呢?就像MessageQ_get()函数那样。因为我看资料介绍说umsg跟MessageQ是基本类似的模块。1 v) F0 Z  n' r
但是Ptr Umsg_get(Umsg_Handle handle);
" }( j3 G; M5 o# |* J2 AMessageQ_get(MessageQ_handle handle, MessageQ_msg *msg UINT timeout);
# A; \! T/ C6 d, z) p- [这两个函数里面的下面那个有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