这个功能没有用过。
OS_OBJ_QTY  OSPendMulti (OS_PEND_DATA  *p_pend_data_tbl,
                         OS_OBJ_QTY     tbl_size,
                         OS_TICK        timeout,
                         OS_OPT         opt,
                         OS_ERR        *p_err):
等待多个对象(必须只能是Sem、Queue),当一个任务必须等待多个对象时,任何一个对象被(Post,Abort,Delete),任务都会被Ready。
调用OS_PendMultiValidate,确保调用的对象中只有Sem、Queue。
    调用OS_PendMultiGetRdy,获取有多少个对象准备好了,如果有则返回。
    调用OS_PendMultiWait,挂起任务,等待对象、超时。
    启动调度器等待事件的发生。    任务被再次唤醒时在此继续往下运行,根据OSTCBCurPtr->PendStatus,设置错误代码,OSTCBCurPtr->PendStatus = OS_STATUS_PEND_OK,返回有一个对象。
OS_OBJ_QTY  OS_PendMultiGetRdy (OS_PEND_DATA  *p_pend_data_tbl,
                                OS_OBJ_QTY     tbl_size):
获取p_pend_data_tbl中有多少个对象准备好了,OS内部函数,被OSPendMulti()调用。
CPU_BOOLEAN  OS_PendMultiValidate (OS_PEND_DATA  *p_pend_data_tbl,
                                   OS_OBJ_QTY     tbl_size):
遍历p_pend_data_tbl,确保里面的对象都为Sem、Queue,OS内部函数,被OSPendMulti()调用。
void  OS_PendMultiWait (OS_PEND_DATA  *p_pend_data_tbl,
                        OS_OBJ_QTY     tbl_size,
                        OS_TICK        timeout):
挂起任务,OS内部函数,被OSPendMulti()调用。
设置OSTCBCurPtr->PendOn、PendStatus、PendDataTblEntries、PendDataTblPtr。挂起当前任务。
遍历p_pend_data_tbl,将当前任务添加到对象对应的等待队列中。

os_pend_multi.c相关推荐

  1. uc/os-II(source)各种文件含义集锦

    os_cfg_app.c: 根据os_cfg_app.h中的宏定义声明变量和数组. os_core.c: 包含uC/OS-III内核的功能模块.例如用来初始化uC/OS-III的OSInit(),用来 ...

  2. μC/OS-III---I笔记9---任务等待多个内核对象和任务内建信号量与消息队列

    在一个任务等待多个内核对象在之前,信号量和消息队列的发布过程中都有等待多个内核对象判断的函数,所谓任务等待多个内核对象顾名思义就是一任务同时等待多个内核对象而被挂起,在USOC-III中一个任务等待多 ...

  3. 读uCOSIII源码笔记

    首先谈一下自己读RTOS的粗略认识吧,刚开始接触单片机时使用的都是while(true),一个循环处理所有的任务.直到写了一个通过GPRS模块与上层服务通信(长连接)之后,才发现在while(true ...

  4. uc/os学习之路(一) —— 初识uc/os

    初识实时操作系统 实时操作系统是指当外界事件或数据产生时,能在规定的时间内进行处理并作出相应.实时操作系统有一下基本特征: 多任务操作系统 多级中断机制 优先调度机制 现广泛使用的实时操作系统有很多种 ...

最新文章

  1. Android之平台架构
  2. Dynamo涉及的算法和协议——p2p架构,一致性hash容错+gossip协议获取集群状态+向量时钟同步数据...
  3. update和saveOrUpdate详解
  4. 恶补sql知识(一)
  5. 中流科技联手RedHat建立开放SOA解决方案中心
  6. IPython在Windows 7上的搭建步骤
  7. 配置WindowsLiveWriter,写cnblogs博客
  8. B. Suffix Structures 模拟吧,情况比较多要想周全
  9. 【Sort】QuickSort
  10. c语言生日创意代码_C语言如何编程生日快乐代码
  11. Ps雅点设计合成大师
  12. elastic APM 深入测试 二 基于spring cloud微服务框架的分布式追踪
  13. 【Nodejs】使用http.request批量下载MP3,发现网络文件大于1000K时下载文件为0K
  14. 如何解决Windows10系统空闲时间CPU占用高,风扇很响的问题?
  15. 习题 9.8 修改第6题的程序,增加一个fun函数,改写main函数。改为在fun函数中调用change和display函数。在fun函数中使用对象的引用(Student )作为形参。
  16. 【React】之受控组件和非受控组件
  17. 无心剑汉英双语诗005.《抒怀》
  18. 基于K-Means的文本聚类
  19. 申请支付宝授权,提现测试环境步骤
  20. recsys2022比赛baseline - 基于ItemCF

热门文章

  1. 2017双11核心技术揭秘—双十一海量数据下EagleEye的使命和挑战
  2. XjhDemo 插入数据
  3. 恭贺德林教点穴网成立
  4. SQL增删改查知识点总结
  5. 办公室计算机打印机共享,如何将办公室的所有电脑共享一个打印机???
  6. Functional Code Clone Detection with Syntax and Semantics Fusion Learning论文总结
  7. 统信UOS系统安装mysql_统信UOS系统手动安装分区方案
  8. 2021年山东省安全员C证考试题库及山东省安全员C证考试报名
  9. Xcode7 网络请求报错:The resource could not be loaded be
  10. android 蓝牙传输速率,android蓝牙rfcomm连接速度太慢