uCOS-II中Event阻塞、唤醒、超时机制(以Sem为例)
来源:互联网 发布:电视机看电视软件 编辑:程序博客网 时间:2024/05/01 08:14
阻塞
相应事件的 OSSemPend()函数会调用 OSEventTaskWait() 函数后,当前任务进入等待态,执行了任务切换,CPU执行处于就绪态最高优先级的任务。
唤醒
事件对应的 OSSemPost()调用 OSEventTaskRdy() 函数后,设置任务挂起状态 OS_STAT_PEND_OK,执行任务切换,CPU执行处于就绪态的最高优先级任务。
超时
任务函数调用相应事件的 OSSemPend()函数,设置任务状态及超时时间等参数(图中选中1);任务函数继续执行,任务进入等待态,并进行任务切换(图中选中2)。当前任务阻塞等待事件唤醒或超时。
在 OSTimeTick() 函数中对超时时间Dly处理。当超时时间到,设置任务状态及任务挂起状态值(下图选中1),然后使任务进入就绪态(下图选中2)。
当任务从就绪态恢复成执行态时,接着执行任务函数,会执行事件任务删除(图中选中3),设置错误为超时。
0 0
- uCOS-II中Event阻塞、唤醒、超时机制(以Sem为例)
- uCOS-II任务机制
- uCOS-II任务机制
- uCOS-II任务机制
- 为阻塞型函数调用添加超时机制
- 验证阻塞队列超时机制
- 手把手教UCOS II移植到DSP 2803x(28035为例)
- 以AdWords黄金账户为例谈谈SEM的账户结构
- ucos-II(一)
- ucos-II(二)
- ucos-II(三)
- ucos-II(四)
- ucos-II(五)
- UCOS-II中数据类型移植
- ucos-ii的任务调度机制
- uCOS-II中的任务切换机制(转)
- uCOS-II中的任务切换机制
- uCOS-II中的任务切换机制(转)
- 使用DbVisualizer导出DB2创建序列SQL
- wordpress站点地址配置错误,无法访问网站
- Activity向Fragment传值
- 连续子数组的最大和
- 集合框架和泛型
- uCOS-II中Event阻塞、唤醒、超时机制(以Sem为例)
- FCM(Fuzzy C-Means)模糊C聚类
- BZoj 2190: [SDOI2008]仪仗队【欧拉函数】
- [Android]基于Android的Java学习路线图
- 如何在Linux上搭建VisualSVN Server(svn服务端)
- 机房重构—策略模式简单用
- 《活着就为改变世界:史蒂夫.乔布斯转》读书分享
- go语言的string和slice是值拷贝吗?
- 手把手粗糙解析KMP算法