Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
ce1ee779
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
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看板
未验证
提交
ce1ee779
编写于
5月 12, 2022
作者:
K
king_he
提交者:
Gitee
5月 12, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/device-dev/driver/driver-platform-i2c-des.md.
Signed-off-by:
N
king_he
<
6384784@qq.com
>
上级
e9bfd639
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
13 deletion
+13
-13
zh-cn/device-dev/driver/driver-platform-i2c-des.md
zh-cn/device-dev/driver/driver-platform-i2c-des.md
+13
-13
未找到文件。
zh-cn/device-dev/driver/driver-platform-i2c-des.md
浏览文件 @
ce1ee779
...
...
@@ -3,17 +3,17 @@
## 概述
-
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。
-
I2C以主从方式工作,通常有一个主设备和一个或者多个从设备,主从设备通过SDA(SerialData)串行数据线以及SCL(SerialClock)串行时钟线两根线相连,如图1所示。
I2C以主从方式工作,通常有一个主设备和一个或者多个从设备,主从设备通过SDA(SerialData)串行数据线以及SCL(SerialClock)串行时钟线两根线相连,如图1所示。
-
I2C数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。数据传输以字节为单位,高位在前,逐个bit进行传输。
I2C数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。数据传输以字节为单位,高位在前,逐个bit进行传输。
-
I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址,当主设备需要和某一个从设备通信时,通过广播的方式,将从设备地址写到总线上,如果某个从设备符合此地址,将会发出应答信号,建立传输。
I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址,当主设备需要和某一个从设备通信时,通过广播的方式,将从设备地址写到总线上,如果某个从设备符合此地址,将会发出应答信号,建立传输。
-
I2C接口定义了完成I2C传输的通用方法集合,包括:
-
I2C控制器管理:
打开或关闭I2C控制器
-
I2C消息传输:通过消息传输结构体数组进行自定义传输
I2C接口定义了完成I2C传输的通用方法集合,包括:
-
I2C控制器管理:
打开或关闭I2C控制器
-
I2C消息传输:通过消息传输结构体数组进行自定义传输
**图1** I2C物理连线示意图
...
...
@@ -29,7 +29,7 @@
| I2C控制器管理接口 | -
I2cOpen:打开I2C控制器
<br/>
-
I2cClose:关闭I2C控制器 |
| I2C消息传输接口 | I2cTransfer:自定义传输 |
>  **说明:**
>  **说明:**
<br>
> 本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。
...
...
@@ -60,7 +60,7 @@ DevHandle I2cOpen(int16_t number);
| NULL | 打开I2C控制器失败 |
| 设备句柄 | 打开的I2C控制器设备句柄 |
假设系统中存在8个I2C控制器,编号从0到7,
那么我们现在获取3号控制器
假设系统中存在8个I2C控制器,编号从0到7,
以下代码示例为获取3号控制器:
```
...
...
@@ -128,7 +128,7 @@ if (ret != 2) {
### 关闭I2C控制器
I2C通信完成之后,需要关闭I2C控制器,关闭函数如下所
示
:
I2C通信完成之后,需要关闭I2C控制器,关闭函数如下所
述
:
void I2cClose(DevHandle handle);
...
...
@@ -144,7 +144,7 @@ I2cClose(i2cHandle); /* 关闭I2C控制器 */
```
## 使用
实
例
## 使用
示
例
本例程以操作开发板上的I2C设备为例,详细展示I2C接口的完整使用流程。
...
...
@@ -158,8 +158,8 @@ I2cClose(i2cHandle); /* 关闭I2C控制器 */
本例程首先对Touch IC进行复位操作(开发板上电默认会给TouchIC供电,本例程不考虑供电),然后对其内部寄存器进行随机读写,测试I2C通路是否正常。
>  **说明:**
> 本
例程
重点在于展示I2C设备访问流程,并验证I2C通路,所以对于设备寄存器读写值不做关注,读写寄存器导致的行为由设备自身决定。
>  **说明:**
<br>
> 本
示例
重点在于展示I2C设备访问流程,并验证I2C通路,所以对于设备寄存器读写值不做关注,读写寄存器导致的行为由设备自身决定。
示例如下:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录