ucosiii中同时等待多个内核对象怎样知道变量值

 我来答
就烦条0o
2017-02-26 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
同时使用多个内核对象
uC/OS-III 只允许同时等待多个信号量和消息队列,不能同时等待多个事件标志组或mutex。
这里写图片描述
任务接收到一个信号量或消息,就会进入就绪。任务通过调用OSPendMulti()等待多个对象。
/*1.定义OS_PEND_DATA数组*/
OS_OBJ_QTY index;
OS_PEND_DATA pend_multi_tbl[CORE_OBJ_NUM];//定义数组
/*2.放入消息队列或者信号量*/
pend_multi_tbl[0].PendObjPtr=(OS_PEND_OBJ*)&Test_Sem1;
pend_multi_tbl[1].PendObjPtr=(OS_PEND_OBJ*)&Test_Sem2;
pend_multi_tbl[2].PendObjPtr=(OS_PEND_OBJ*)&Test_Q;
/*3.等待多个内核,返回准备好,停止或者删除的内核对象数量*/
index=OSPendMulti((OS_PEND_DATA* )pend_multi_tbl,//内核对象数组
(OS_OBJ_QTY)CORE_OBJ_NUM, //内核数量
(OS_TICK)0,
(OS_OPT)OS_OPT_PEND_BLOCKING,
(OS_ERR*)&err);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式