这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [求助]vxworks中有没有清空消息队列的函数?

共9条 1/1 1 跳转至

[求助]vxworks中有没有清空消息队列的函数?

菜鸟
2007-01-19 06:33:46     打赏
如果没有的话,用什么方法可以清除消息队列中的内容呢?
不是删除消息队列。
多谢!



关键词: 求助     vxworks     有没有     清空     消息     队列         

院士
2007-01-19 07:51:00     打赏
2楼

帮着顶一下,是不是太晚了

看看明天又没有结果


菜鸟
2007-01-19 16:41:00     打赏
3楼

你说的是msgQ吗?

没有清空的函数,可用先用msgQNumMsgs查看有多少消息,如果不准备处理这些,再用msgQReceive收下来不理就是了。


菜鸟
2007-01-19 16:41:00     打赏
4楼
最好能说一下你的用途,可用帮您参谋一下。

菜鸟
2007-01-19 18:10:00     打赏
5楼
对,是msgQ,因为任务要反复运行,所以让它在重新运行的时候保证消息队列里面的消息不是上一次的,即每次运行前都和第一次运行的状态一样

菜鸟
2007-01-19 22:19:00     打赏
6楼

那只能用我上面提到的方法了。vxWorks自己的代码里面也是这样做的。下面的代码是pipeIoctl里面对flush的处理部分,可以参考。

case FIOFLUSH:
/* discard all outstanding messages */

taskLock ();
while (msgQReceive (&pPipeDev->msgQ, (char *) NULL, 0, NO_WAIT) !=
ERROR)
;
taskUnlock ();
break;


菜鸟
2007-01-20 05:31:00     打赏
7楼
以下是引用woodhead在2007-1-19 8:41:00的发言:

你说的是msgQ吗?

没有清空的函数,可用先用msgQNumMsgs查看有多少消息,如果不准备处理这些,再用msgQReceive收下来不理就是了。

我们也是这样做的!


菜鸟
2007-01-20 05:56:00     打赏
8楼
多谢woodhead兄,问题得到解决~

菜鸟
2007-01-23 05:47:00     打赏
9楼
我也是这样作的!!

共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]