1. 事件标志简介
事件标志:事件标志是一个用于指示事件是否发生的比特位。
事件标志组由多个事件标志组成的, 可以简单的理解事件标志组,就是一个整数。
1.1 事件标志组的特点:
- 它的每一个位表示一个事件(最多可以表示32个事件标志)
- 每一位事件的含义,由用户自己决定(这些位的值为1:表示事件发生了;值为0:表示事件未发生)
- 任意任务或中断都可以写这些位,但读这些位只能由任务
- 可以等待某一位成立,或者等待多位同时成立
1.2 事件标志组逻辑关系图
- 可以等待某一位成立,或者等待多位同时成立
- 任意任务或中断都可以写这些位,但读这些位只能由任务
- 支持读取阻塞
2. 事件标志相关API函数
使用事件标志组流程:创建事件标志组 -> 设置事件标志 -> 获取事件标志
2.1 创建一个事件标志组
void OSFlagCreate ( OS_FLAG_GRP* p_grp,
CPU_CHAR* p_name,
OS_FLAGS flags,
OS_ERR* p_err )
2.2 设置事件标志组中的事件
OS_FLAGS OSFlagPost ( OS_FLAG_GRP* p_grp,
OS_FLAGS flags,
OS_OPT opt,
OS_ERR* p_err )
2.3 等待事件标志组中的事件
OS_FLAGS OSFlagPend( OS_FLAG_GRP* p_grp,
OS_FLAGS flags,
OS_TICK timeout,
OS_OPT opt,
CPU_TS* p_ts,
OS_ERR* p_err )
评论区