μC/OSIII——任务同步和通信(二)
来源:互联网 发布:国外类似知乎的网站 编辑:程序博客网 时间:2024/06/05 02:27
使用情况
任务同时等待多个内核对象,μC/OSIII仅允许任务同时等待多个信号量和多个消息队列,不支持同时等待多个事件标志组或互斥信号量。
使用方法
当下列情况发生,OSPendMulti()挂起当前任务:
- 对象变为可用;
- 到达设定的超时时间;
- 一个或多个任务被删除或被终止;
- 一个或多个对象被删除了;
OS_OBJ_QTY OSPendMulti (OS_PEND_DATA *p_pend_data_tbl, 指向一个OS_PEND_DATA表的指针
OS_OBJ_QTY tbl_size, OS_PEND_DATA表的表项数目
OS_TICK timeout, 指定超时值(时钟节拍数)
OS_OPT opt,
OS_ERR *p_err) 该函数返回的错误码
struct OS_PEND_DATA{
OS_PEND_DATA *PrevPtr;
OS_PEND_DATA *NextPtr;
OS_TCB *TCBPtr;
OS_PEND_OBJ *PendObjPtr;
OS_PEND_OBJ *RdyObjPtr;
void *RdyMsgPtr;
OS_MSG_SIZE RdyMsgSize;
CPU_TS RdyTS;
};
opt OS_OPT_PEND_BLOCKING 阻塞模式 OS_OPT_PEND_NON_BLOCKING 非阻塞模式
使用实例
实验结果
- μC/OSIII——任务同步和通信(二)
- μC/OSIII——任务同步和通信(二)
- μC/OSIII——任务同步和通信(一)
- μC/OSIII——任务同步和通信(一)
- μC/OSIII——任务通信(消息传递)
- μC/OSIII——任务同步(事件标志组)
- 任务的通信和同步
- UCOSii(四)——任务的通信与同步
- 任务线程和同步(二、Task)
- uc/OSIII 任务使用
- DSP BIOS任务通信和同步(pend/post举例)
- [C#通信二]C#.net同步异步SOCKET通讯和多线程总结1(转)
- JAVA多线程编程(二)——同步与通信
- μC/OS II 任务调度详解(二)——任务就绪表
- 任务,线程和同步(二)之Task类
- (二十一)任务、线程和同步
- 嵌入式实时操作系统μC/OS-||原理及应用学习4----任务的同步与通信
- C #异步和同步Socket通信(转)
- APK动态加载框架(DL)解析
- 经典的Git进行源代码管理的分支模型
- 登陆请求(post),利用ASIHTTPRequest;
- JSP入门简介
- 工作笔记:ffmpeg ios 打包 所有架构包括 arm64
- μC/OSIII——任务同步和通信(二)
- 画笔使用过程
- php webservice client
- VisualVM——JDK自带的性能分析工具
- linux平台Makefile样例
- hdu 5020 求3点共线的组合数
- WebGL增加顶点颜色
- Android 开发 之 JNI入门 - NDK从入门到精通Android 开发 之 JNI入门 - NDK从入门到精通
- C语言知识点