嵌入式开发者社区
标题:
Umsg_get函数的等待时间怎么设置呢?
[打印本页]
作者:
moontiger564
时间:
2016-8-11 15:46
标题:
Umsg_get函数的等待时间怎么设置呢?
我看了Umsg例程里面的Ptr Umsg_get(Umsg_Handle handle) 这个函数。发现这个函数在接收消息的时候,如果邮箱里面是空的,他就一直在那等待,知道有新的消息过来了这个函数才能继续往下走?
4 R L7 w1 G4 ^7 Z1 \
我的疑问是:1.如果不想一直等待在那里,怎么设置它的等待时间呢?
1 K) T) L% s2 Y( Z$ T- n! I
2.如果一直等待在那里?那么这个任务是不是就像信号量挂起pend那种一样,别的优先级低的任务还是可以执行的?还是说就一直停在这里,别的优先级低的任务也不能执行了?
4 D9 m6 r, d# ^4 \3 I6 u
+ u( k6 g/ \$ W4 R4 o5 A) l! i% n' I' G1 b
6 l; J' ^4 h) C/ j
作者:
tenny
时间:
2016-8-12 14:59
单线程挂起
作者:
moontiger564
时间:
2016-8-12 15:18
tenny 发表于 2016-8-12 14:59
9 V8 E5 Q$ W$ L$ Z7 @, _
单线程挂起
8 |4 i) m2 \# g6 {
那请问下,我如果想用umsg_get()函数在邮箱为空的时候不要一直等下去的话,我应该怎么设置这个等待时间呢?就像MessageQ_get()函数那样。因为我看资料介绍说umsg跟MessageQ是基本类似的模块。
5 }. g8 e+ ^# p
但是Ptr Umsg_get(Umsg_Handle handle);
$ N! G6 H* l/ G# k9 G4 y; {& I
MessageQ_get(MessageQ_handle handle, MessageQ_msg *msg UINT timeout);
0 E4 Y- Z. x; V$ J& L
这两个函数里面的下面那个有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