uc/os-iii学习笔记---同时等待多个内核对象
来源:互联网 发布:淘宝修改头像失败 编辑:程序博客网 时间:2024/06/10 20:26
同时等待多个内核对象
前面我们讲过都是等待单个内核对象,包括:信号量、互斥信号量、消息队列和事件标志组。在UCOS–III中允许任务同时等待多个信号量和多个消息队列,也就是说,UCOS–III不支持同时等待多个事件标志组或互斥信号量。
一个任务可以等待任意数量的信号量和消息队列,第一个信号量或消息队列的发布会导致该任务进入就绪态。
- 一个任务可以调用函数
OSPendMulti()
函数来等待多个对象,并且可以根据需要指定一个等待超时值,函数OSPendMulti()
,举个例子 -
OSPendMulti((OS_PEND_DATA* )pend_multi_tbl,//需定义的数组,数组的例子在此函数下面 (OS_OBJ_QTY )CORE_OBJ_NUM, //内核对象数量 (OS_TICK )0, //0就是一直等待下去 (OS_OPT )OS_OPT_PEND_BLOCKING,//对象未发送时任务挂起等待,OS_OPT_NON_PEND_BLOCKING就是对象未发送直接返回 (OS_ERR* )&err); //同样是返回的错误信息
OS_PEND_DATA pend_multi_tbl[CORE_OBJ_NUM];//定义一个数组,数组大小推荐使用宏定义方式定义pend_multi_tbl[0].PendObjPtr=(OS_PEND_OBJ*)&Test_Sem1;//等待信号Test_Sem1pend_multi_tbl[1].PendObjPtr=(OS_PEND_OBJ*)&Test_Sem2;//等待信号Test_Sem2pend_multi_tbl[2].PendObjPtr=(OS_PEND_OBJ*)&Test_Q;//等待消息Test-Q
0 0
- uc/os-iii学习笔记---同时等待多个内核对象
- uC/OS-III之等待多个内核对象
- ucosIII 同时等待多个内核对象
- uc/os-iii学习笔记-OSTaskCreate
- uc/os-iii学习笔记-临界段
- uc/os-iii学习笔记-任务管理
- uc/os-iii学习笔记-任务调度
- uc/os-iii学习笔记-任务切换
- uc/os-iii学习笔记-中断管理
- uc/os-iii学习笔记-时间管理
- uc/os-iii学习笔记-消息传递
- uC/OS-III 学习笔记 (X)
- UCOSIII同时等待多个内核对象(待更)
- osIII任务同时等待多个内核对象
- uC/OS-III 学习笔记(一)——uC/OS-III移植
- uC/OS-III系统内核学习--OSTaskChangePrio函数
- uC/OS-III学习1::uC/OS-III介绍
- uc/os-iii学习笔记-任务就绪表
- ./和 sh 的区别
- Java 异常基础 Exception Java异常的栈轨迹(Stack Trace)
- OPPO R7Plusm(全网通)root、刷入twrp recovery、卡刷刷入CM系统教程合集_ recovery.img文件下载 联想A7600-m线刷刷机教程 手机卡在双4G双百兆无法开
- 安卓应用游戏APP源码
- Gradle minifyEnabled 使用proguard混淆android代码 android studio 打jar包并混淆
- uc/os-iii学习笔记---同时等待多个内核对象
- C语言--二维数组与指针浅谈
- Swift学习(六)-循环
- 序:准备开始openfire之旅,希望旅途愉快
- 云测试平台, 内存优化,性能优化,OO,。垃圾回收,GC,heap和stack,
- java.io.IOException: unexpected end of stream
- 2016多校联赛 hdu 5724 Chess
- 超强、超详细Redis数据库入门教程
- 基于lucene的mr索引程序的实现