From 65667ce07ea759d8ad6146698caa696430e328f0 Mon Sep 17 00:00:00 2001 From: king_he <6384784@qq.com> Date: Fri, 8 Jul 2022 09:52:20 +0000 Subject: [PATCH] update zh-cn/device-dev/driver/driver-platform-uart-des.md. Signed-off-by: king_he <6384784@qq.com> --- .../driver/driver-platform-uart-des.md | 500 ++++-------------- 1 file changed, 99 insertions(+), 401 deletions(-) diff --git a/zh-cn/device-dev/driver/driver-platform-uart-des.md b/zh-cn/device-dev/driver/driver-platform-uart-des.md index d094332869..b13e27e8c8 100644 --- a/zh-cn/device-dev/driver/driver-platform-uart-des.md +++ b/zh-cn/device-dev/driver/driver-platform-uart-des.md @@ -1,30 +1,17 @@ # UART -- [概述](#section833012453535) -- [接口说明](#section1928742202715) -- [使用指导](#section12779050105412) - - [使用流程](#section1858116395510) - - [获取UART设备句柄](#section124512065617) - - [UART设置波特率](#section86881004579) - - [UART获取波特率](#section897032965712) - - [UART设置设备属性](#section129141884588) - - [UART获取设备属性](#section18689637165812) - - [设置UART传输模式](#section72713435918) - - [向UART设备写入指定长度的数据](#section128001736155919) - - [从UART设备中读取指定长度的数据](#section92851601604) - - [销毁UART设备句柄](#section1477410521406) - -- [使用实例](#section35404241311) - -## 概述 - -- UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的缩写,是通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输。 -- UART应用比较广泛,常用于输出打印信息,也可以外接各种模块,如GPS、蓝牙等。 -- 两个UART设备的连接示意图如下,UART与其他模块一般用2线(图1)或4线(图2)相连,它们分别是: - - TX:发送数据端,和对端的RX相连; - - RX:接收数据端,和对端的TX相连; - - RTS:发送请求信号,用于指示本设备是否准备好,可接受数据,和对端CTS相连; - - CTS:允许发送信号,用于判断是否可以向对端发送数据,和对端RTS相连; + +## 概述 + +UART指异步收发传输器(Universal Asynchronous Receiver/Transmitter),是通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输。 + +UART应用比较广泛,常用于输出打印信息,也可以外接各种模块,如GPS、蓝牙等。 + +两个UART设备的连接示意图如下,UART与其他模块一般用2线(图1)或4线(图2)相连,它们分别是: + - TX:发送数据端,和对端的RX相连。 + - RX:接收数据端,和对端的TX相连。 + - RTS:发送请求信号,用于指示本设备是否准备好,可接受数据,和对端CTS相连。 + - CTS:允许发送信号,用于判断是否可以向对端发送数据,和对端RTS相连。 **图 1** 2线UART设备连接示意图 ![](figures/2线UART设备连接示意图.png "2线UART设备连接示意图") @@ -40,75 +27,17 @@ **表 1** UART驱动API接口功能介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

功能分类

-

接口名

-

描述

-

UART获取/释放设备句柄

-

-

UartOpen

-

UART获取设备句柄

-

UartClose

-

UART释放设备句柄

-

UART读写接口

-

-

UartRead

-

从UART设备中读取指定长度的数据

-

UartWrite

-

向UART设备中写入指定长度的数据

-

UART获取/设置波特率接口

-

UartGetBaud

-

UART获取波特率

-

UartSetBaud

-

UART设置波特率

-

UART获取/设置设备属性

-

-

UartGetAttribute

-

UART获取设备属性

-

UartSetAttribute

-

UART设置设备属性

-

UART设置传输模式

-

UartSetTransMode

-

UART设置传输模式

-
+| 接口名 | 接口描述 | +| -------- | -------- | +| UartOpen | UART获取设备句柄 | +| UartClose | UART释放设备句柄 | +| UartRead | 从UART设备中读取指定长度的数据 | +| UartWrite | 向UART设备中写入指定长度的数据 | +| UartGetBaud | UART获取波特率 | +| UartSetBaud | UART设置波特率 | +| UartGetAttribute | UART获取设备属性 | +| UartSetAttribute | UART设置设备属性 | +| UartSetTransMode | UART设置传输模式 | >![](../public_sys-resources/icon-note.gif) **说明:** >本文涉及的所有接口,仅限内核态使用,不支持在用户态使用。 @@ -130,35 +59,12 @@ DevHandle UartOpen\(uint32\_t port\); **表 2** UartOpen参数和返回值描述 - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

port

-

UART设备号

-

返回值

-

返回值描述

-

NULL

-

获取UART设备句柄失败

-

设备句柄

-

UART设备句柄

-
+| 参数 | 参数描述 | +| -------- | -------- | +| port | UART设备号 | +| **返回值** | **返回值描述** | +| NULL | 获取UART设备句柄失败 | +| 设备句柄 | UART设备句柄 | 假设系统中的UART端口号为3,获取该UART设备句柄的示例如下: @@ -180,42 +86,15 @@ int32\_t UartSetBaud\(DevHandle handle, uint32\_t baudRate\); **表 3** UartSetBaud参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-

baudRate

-

待设置的波特率值

-

返回值

-

返回值描述

-

0

-

UART设置波特率成功

-

负数

-

UART设置波特率失败

-
- -假设需要设置的UART波特率为9600,设置波特率的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | +| baudRate | 待设置的波特率值 | +| **返回值** | **返回值描述** | +| 0 | UART设置波特率成功 | +| 负数 | UART设置波特率失败 | + +假设需要设置的UART波特率为9600,示例代码如下: ``` int32_t ret; @@ -234,42 +113,15 @@ int32\_t UartGetBaud\(DevHandle handle, uint32\_t \*baudRate\); **表 4** UartGetBaud参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-

baudRate

-

接收波特率值的指针

-

返回值

-

返回值描述

-

0

-

UART获取波特率成功

-

负数

-

UART获取波特率失败

-
- -获取波特率的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | +| baudRate | 接收波特率值的指针 | +| **返回值** | **返回值描述** | +| 0 | UART获取波特率成功 | +| 负数 | UART获取波特率失败 | + +获取波特率的示例代码如下: ``` int32_t ret; @@ -289,42 +141,15 @@ int32\_t UartSetAttribute\(DevHandle handle, struct UartAttribute \*attribute\) **表 5** UartSetAttribute参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-

attribute

-

待设置的设备属性

-

返回值

-

返回值描述

-

0

-

UART设置设备属性成功

-

负数

-

UART设置设备属性失败

-
- -设置UART的设备属性的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | +| attribute | 待设置的设备属性 | +| **返回值** | **返回值描述** | +| 0 | UART设置设备属性成功 | +| 负数 | UART设置设备属性失败 | + +设置UART的设备属性的示例代码如下: ``` int32_t ret; @@ -351,42 +176,15 @@ int32\_t UartGetAttribute\(DevHandle handle, struct UartAttribute \*attribute\); **表 6** UartGetAttribute参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-

attribute

-

接收UART设备属性的指针

-

返回值

-

返回值描述

-

0

-

UART获取设备属性成功

-

负数

-

UART获取设备属性失败

-
- -获取UART的设备属性的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | +| attribute | 接收UART设备属性的指针 | +| **返回值** | **返回值描述** | +| 0 | UART获取设备属性成功 | +| 负数 | UART获取设备属性失败 | + +获取UART的设备属性的示例代码如下: ``` int32_t ret; @@ -406,42 +204,15 @@ int32\_t UartSetTransMode\(DevHandle handle, enum UartTransMode mode\); **表 7** UartSetTransMode参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-

mode

-

待设置的传输模式,

-

返回值

-

返回值描述

-

0

-

UART设置传输模式成功

-

负数

-

UART设置传输模式失败

-
- -假设需要设置的UART传输模式为UART\_MODE\_RD\_BLOCK,设置传输模式的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | +| mode | 待设置的传输模式, | +| **返回值** | **返回值描述** | +| 0 | UART设置传输模式成功 | +| 负数 | UART设置传输模式失败 | + +假设需要设置的UART传输模式为UART\_MODE\_RD\_BLOCK,示例代码如下: ``` int32_t ret; @@ -460,47 +231,16 @@ int32\_t UartWrite\(DevHandle handle, uint8\_t \*data, uint32\_t size\); **表 8** UartWrite参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-

data

-

待写入数据的指针

-

size

-

待写入数据的长度

-

返回值

-

返回值描述

-

0

-

UART写数据成功

-

负数

-

UART写数据失败

-
- -写入指定长度数据的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | +| data | 待写入数据的指针 | +| size | 待写入数据的长度 | +| **返回值** | **返回值描述** | +| 0 | UART写数据成功 | +| 负数 | UART写数据失败 | + +写入指定长度数据的示例代码如下: ``` int32_t ret; @@ -520,47 +260,16 @@ int32\_t UartRead\(DevHandle handle, uint8\_t \*data, uint32\_t size\); **表 9** UartRead参数和返回值描述 - - - - - - - - - - - - - - - - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-

data

-

接收读取数据的指针

-

size

-

待读取数据的长度

-

返回值

-

返回值描述

-

非负数

-

UART读取到的数据长度

-

负数

-

UART读取数据失败

-
- -读取指定长度数据的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | +| data | 接收读取数据的指针 | +| size | 待读取数据的长度 | +| **返回值** | **返回值描述** | +| 非负数 | UART读取到的数据长度 | +| 负数 | UART读取数据失败 | + +读取指定长度数据的示例代码如下: ``` int32_t ret; @@ -585,22 +294,11 @@ void UartClose\(DevHandle handle\); **表 10** UartClose参数和返回值描述 - - - - - - - - - -

参数

-

参数描述

-

handle

-

UART设备句柄

-
- -销毁UART设备句柄的实例如下: +| 参数 | 参数描述 | +| -------- | -------- | +| handle | UART设备句柄 | + +销毁UART设备句柄的示例代码如下: ``` UartClose(handle); /* 销毁UART设备句柄 * -- GitLab