嵌入式开发者社区
标题:
Umsg_get函数的等待时间怎么设置呢?
[打印本页]
作者:
moontiger564
时间:
2016-8-11 15:46
标题:
Umsg_get函数的等待时间怎么设置呢?
我看了Umsg例程里面的Ptr Umsg_get(Umsg_Handle handle) 这个函数。发现这个函数在接收消息的时候,如果邮箱里面是空的,他就一直在那等待,知道有新的消息过来了这个函数才能继续往下走?
9 r; E. G) b2 F) V, G
我的疑问是:1.如果不想一直等待在那里,怎么设置它的等待时间呢?
; r, R1 Y) B" a# A( n
2.如果一直等待在那里?那么这个任务是不是就像信号量挂起pend那种一样,别的优先级低的任务还是可以执行的?还是说就一直停在这里,别的优先级低的任务也不能执行了?
- w7 q" i2 V1 C5 L8 q5 y
/ M' [/ Q, ]0 Q: R# { R
" Q$ k& D2 y# m
作者:
tenny
时间:
2016-8-12 14:59
单线程挂起
作者:
moontiger564
时间:
2016-8-12 15:18
tenny 发表于 2016-8-12 14:59
* i6 f: B3 I7 n. ^# y5 z% x3 O5 V+ e
单线程挂起
7 p8 v$ D, J. A. @
那请问下,我如果想用umsg_get()函数在邮箱为空的时候不要一直等下去的话,我应该怎么设置这个等待时间呢?就像MessageQ_get()函数那样。因为我看资料介绍说umsg跟MessageQ是基本类似的模块。
& i8 E1 Q2 d, L: q
但是Ptr Umsg_get(Umsg_Handle handle);
0 ]% u* J: N6 M8 `/ v
MessageQ_get(MessageQ_handle handle, MessageQ_msg *msg UINT timeout);
& V$ ^1 [- ` c/ n
这两个函数里面的下面那个有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