μC/OS-III的内核对象解析
时间:08-09
来源:互联网
点击:
1.3 事件标志组
事件标志组创建函数为:
其参数分别为:事件标志组的地址、事件标志组的名字、初始化事件标志组、错误代号。
事件标志组挂起函数为:
其参数分别为:事件标志组的地址、任务所等待的标志位、任务等待期满时间、事件标志组的方式、时间戳、错误代号。
事件标志组的方式选择需分为两部分:一部分为事件标志组失效时的处理方式,可选择OS_OPT_PENDBLOCKING和OS_OPT_PEND_NON_BLOCKI NG;另一部分是任务等待事件标志位的方式。
所等待的标志位全部被清零:OS_OPT_PEND_FLAG_CLR_AND
所等待的标志位或操作为0:OS_OPT_PEND_FLAG_CLR_OR
所等待的标志位全部被置位:OS_OPT_PEND_FLAG_SET_AND
所等待的标志位或操作为1:OS_OPT_PEND FLAG_SET_OR
事件标志提交函数为:
其参数分别为:事件标志组的地址、此函数中被操作的位、置位或清零、错误代号。
事件标志组的其他API:
删除事件标志组 OSFlagDel()
取消任务等待事件标志组 OSFlagPendAbort()
获取事件标志组中任务所关心的位 OSFlagPendGetFlagsRdy()
事件标志组实现任务间的通信如图3所示。
2 小结
μC/OS-III任务间的通信常通过信号量、消息队列、事件标志组实现。信号量的通信类似于任务间打招呼,如判断某条件是否成立。消息队列可分为任务内建消息队列和外部消息队列,任务内建消息队列一般用于接收少量消息(如中断程序发送过来的消息),外部消息队列主要面向于多个任务共同等待的消息。事件标志组则用于多个任务间的同步。
- 如何将RTOS添加到您的Zynq SoC设计中(04-29)
- μC/OS-II定时器算法分析与测试(10-23)
- “节能之星”EFM32应用方案——手持式激光测距仪(06-25)
- 基于DM6446嵌入式虹膜识别系统的电源设计与实现(10-22)
- 基于ARM内核单片机的四旋翼直升机飞行控制系统设计(08-22)
- 基于MC8051内核的便携幅频特性测试仪设计(07-05)