Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
35ac80ed
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
35ac80ed
编写于
1月 13, 2022
作者:
A
Austin
提交者:
Gitee
1月 13, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/device-dev/kernel/kernel-small-basic-trans-event.md.
Signed-off-by:
N
Austin
<
liaozhiqi7@huawei.com
>
上级
9c43fe69
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
5 deletion
+5
-5
zh-cn/device-dev/kernel/kernel-small-basic-trans-event.md
zh-cn/device-dev/kernel/kernel-small-basic-trans-event.md
+5
-5
未找到文件。
zh-cn/device-dev/kernel/kernel-small-basic-trans-event.md
浏览文件 @
35ac80ed
...
...
@@ -48,11 +48,11 @@ typedef struct tagEvent {
### 事件运作原理<a name="section187761153144617"></a>
**事件初始化
:**
会创建一个事件控制块,该控制块维护一个已处理的事件集合,以及等待特定事件的任务链表。
**事件初始化
**
:
会创建一个事件控制块,该控制块维护一个已处理的事件集合,以及等待特定事件的任务链表。
**写事件
:**
会向事件控制块写入指定的事件,事件控制块更新事件集合,并遍历任务链表,根据任务等待具体条件满足情况决定是否唤醒相关任务。
**写事件
**
:
会向事件控制块写入指定的事件,事件控制块更新事件集合,并遍历任务链表,根据任务等待具体条件满足情况决定是否唤醒相关任务。
**读事件
:**
如果读取的事件已存在时,会直接同步返回。其他情况会根据超时时间以及事件触发情况,来决定返回时机:等待的事件条件在超时时间耗尽之前到达,阻塞任务会被直接唤醒,否则超时时间耗尽该任务才会被唤醒。
**读事件
**
:
如果读取的事件已存在时,会直接同步返回。其他情况会根据超时时间以及事件触发情况,来决定返回时机:等待的事件条件在超时时间耗尽之前到达,阻塞任务会被直接唤醒,否则超时时间耗尽该任务才会被唤醒。
读事件条件满足与否取决于入参eventMask和mode,eventMask即需要关注的事件类型掩码。mode是具体处理方式,分以下三种情况:
...
...
@@ -60,9 +60,9 @@ typedef struct tagEvent {
-
LOS
\_
WAITMODE
\_
OR:逻辑或,基于接口传入的事件类型掩码eventMask,只要这些事件中有任一种事件发生就可以读取成功,否则该任务将阻塞等待或者返回错误码。
-
LOS
\_
WAITMODE
\_
CLR:这是一种附加读取模式,需要与所有事件模式或任一事件模式结合使用(LOS
\_
WAITMODE
\_
AND | LOS
\_
WAITMODE
\_
CLR或 LOS
\_
WAITMODE
\_
OR | LOS
\_
WAITMODE
\_
CLR)。在这种模式下,当设置的所有事件模式或任一事件模式读取成功后,会自动清除事件控制块中对应的事件类型位。
**事件清零
:**
根据指定掩码,去对事件控制块的事件集合进行清零操作。当掩码为0时,表示将事件集合全部清零。当掩码为0xffff时,表示不清除任何事件,保持事件集合原状。
**事件清零
**
:
根据指定掩码,去对事件控制块的事件集合进行清零操作。当掩码为0时,表示将事件集合全部清零。当掩码为0xffff时,表示不清除任何事件,保持事件集合原状。
**事件销毁
:**
销毁指定的事件控制块。
**事件销毁
**
:
销毁指定的事件控制块。
**图 1**
事件运作原理图
<a
name=
"fig17799175324612"
></a>
![](
figure/事件运作原理图-21.png
"事件运作原理图-21"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录