Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
68e33154
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,发现更多精彩内容 >>
未验证
提交
68e33154
编写于
7月 07, 2022
作者:
O
openharmony_ci
提交者:
Gitee
7月 07, 2022
浏览文件
操作
浏览文件
下载
差异文件
!6389 【注释】对齐文档注释
Merge pull request !6389 from 张张/master
上级
34a74862
b6e62800
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
8 deletion
+8
-8
zh-cn/device-dev/driver/driver-platform-uart-develop.md
zh-cn/device-dev/driver/driver-platform-uart-develop.md
+8
-8
未找到文件。
zh-cn/device-dev/driver/driver-platform-uart-develop.md
浏览文件 @
68e33154
...
@@ -263,14 +263,14 @@ UART模块适配HDF框架的三个环节是配置属性文件,实例化驱动
...
@@ -263,14 +263,14 @@ UART模块适配HDF框架的三个环节是配置属性文件,实例化驱动
// uart_core.c核心层UartHostCreate函数说明
// uart_core.c核心层UartHostCreate函数说明
struct UartHost *UartHostCreate(struct HdfDeviceObject *device)
struct UartHost *UartHostCreate(struct HdfDeviceObject *device)
{
{
struct UartHost *host = NULL; // 新建UartHost
struct UartHost *host = NULL;
// 新建UartHost
...
...
host = (struct UartHost *)OsalMemCalloc(sizeof(*host));//分配内存
host = (struct UartHost *)OsalMemCalloc(sizeof(*host));//分配内存
...
...
host->device = device; // 【必要】使HdfDeviceObject与UartHost可以相互转化的前提
host->device = device;
// 【必要】使HdfDeviceObject与UartHost可以相互转化的前提
device->service = &(host->service);// 【必要】使HdfDeviceObject与UartHost可以相互转化的前提
device->service = &(host->service);
// 【必要】使HdfDeviceObject与UartHost可以相互转化的前提
host->device->service->Dispatch = UartIoDispatch;// 为service成员的Dispatch方法赋值
host->device->service->Dispatch = UartIoDispatch;// 为service成员的Dispatch方法赋值
OsalAtomicSet(&host->atom, 0); // 原子量初始化或者原子量设置
OsalAtomicSet(&host->atom, 0);
// 原子量初始化或者原子量设置
host->priv = NULL;
host->priv = NULL;
host->method = NULL;
host->method = NULL;
return host;
return host;
...
@@ -319,7 +319,7 @@ UART模块适配HDF框架的三个环节是配置属性文件,实例化驱动
...
@@ -319,7 +319,7 @@ UART模块适配HDF框架的三个环节是配置属性文件,实例化驱动
...
...
port = (struct UartPl011Port *)OsalMemCalloc(sizeof(struct UartPl011Port));//【2】
port = (struct UartPl011Port *)OsalMemCalloc(sizeof(struct UartPl011Port));//【2】
...
...
udd->ops = Pl011GetOps();// 【3】设备开启、关闭、属性设置、发送操作等函数挂载
udd->ops = Pl011GetOps();
// 【3】设备开启、关闭、属性设置、发送操作等函数挂载
udd->recv = PL011UartRecvNotify;// 【4】数据接收通知函数(条件锁机制)挂载
udd->recv = PL011UartRecvNotify;// 【4】数据接收通知函数(条件锁机制)挂载
udd->count = 0; // 【5】
udd->count = 0; // 【5】
port->udd = udd; // 【6】使UartPl011Port与UartDriverData可以相互转化的前提
port->udd = udd; // 【6】使UartPl011Port与UartDriverData可以相互转化的前提
...
@@ -328,9 +328,9 @@ UART模块适配HDF框架的三个环节是配置属性文件,实例化驱动
...
@@ -328,9 +328,9 @@ UART模块适配HDF框架的三个环节是配置属性文件,实例化驱动
...
...
udd->private = port; //【7】
udd->private = port; //【7】
host->priv = udd; // 【必要】使UartHost与UartDriverData可以相互转化的前提
host->priv = udd;
// 【必要】使UartHost与UartDriverData可以相互转化的前提
host->num = udd->num;// 【必要】UART设备号
host->num = udd->num;
// 【必要】UART设备号
UartAddDev(host); // 【必要】核心层uart_dev.c 中的函数,作用:注册一个字符设备节点到vfs,这样从用户态可以通过这个虚拟文件节点访问UART
UartAddDev(host);
// 【必要】核心层uart_dev.c 中的函数,作用:注册一个字符设备节点到vfs,这样从用户态可以通过这个虚拟文件节点访问UART
return HDF_SUCCESS;
return HDF_SUCCESS;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录