XFusion API v1.3.0
载入中...
搜索中...
未找到
uart

通用异步收发器。 更多...

uart 的协作图:

结构体

struct  _xf_hal_uart_config_t
 用于对接 uart 设置的参数。 更多...
 

类型定义

typedef uint32_t xf_uart_num_t
 uart 序号。
 
typedef enum _xf_hal_uart_data_bits_t xf_hal_uart_data_bits_t
 uart 的数据位。
 
typedef enum _xf_hal_uart_stop_bits_t xf_hal_uart_stop_bits_t
 uart 的停止位。
 
typedef enum _xf_hal_uart_parity_bits_t xf_hal_uart_parity_bits_t
 uart 校验位。
 
typedef enum _xf_hal_uart_flow_control_t xf_hal_uart_flow_control_t
 uart 流控模式。
 
typedef enum _xf_hal_uart_cmd_t xf_hal_uart_cmd_t
 用于对接 uart 设置的命令。
 
typedef struct _xf_hal_uart_config_t xf_hal_uart_config_t
 用于对接 uart 设置的参数。
 

枚举

enum  _xf_hal_uart_data_bits_t {
  _XF_HAL_UART_DATA_BIT_BASE = 0 , XF_HAL_UART_DATA_BIT_5 = _XF_HAL_UART_DATA_BIT_BASE , XF_HAL_UART_DATA_BIT_6 , XF_HAL_UART_DATA_BIT_7 ,
  XF_HAL_UART_DATA_BIT_8 , XF_HAL_UART_DATA_BIT_9 , _XF_HAL_UART_DATA_BIT_MAX
}
 uart 的数据位。 更多...
 
enum  _xf_hal_uart_stop_bits_t {
  _XF_HAL_UART_STOP_BIT_BASE = 0 , XF_HAL_UART_STOP_BIT_1 = _XF_HAL_UART_STOP_BIT_BASE , XF_HAL_UART_STOP_BIT_1_5 , XF_HAL_UART_STOP_BIT_2 ,
  _XF_HAL_UART_STOP_BIT_MAX
}
 uart 的停止位。 更多...
 
enum  _xf_hal_uart_parity_bits_t {
  _XF_HAL_UART_PARITY_BITS_BASE = 0 , XF_HAL_UART_PARITY_BITS_NONE = _XF_HAL_UART_PARITY_BITS_BASE , XF_HAL_UART_PARITY_BITS_EVEN , XF_HAL_UART_PARITY_BITS_ODD ,
  XF_HAL_UART_PARITY_BITS_SPACE , XF_HAL_UART_PARITY_BITS_MARK , _XF_HAL_UART_PARITY_BITS_MAX
}
 uart 校验位。 更多...
 
enum  _xf_hal_uart_flow_control_t {
  _XF_HAL_UART_FLOW_CONTROL_BASE = 0 , XF_HAL_UART_FLOW_CONTROL_NONE = _XF_HAL_UART_FLOW_CONTROL_BASE , XF_HAL_UART_FLOW_CONTROL_RTS , XF_HAL_UART_FLOW_CONTROL_CTS ,
  XF_HAL_UART_FLOW_CONTROL_RTS_CTS , _XF_HAL_UART_FLOW_CONTROL_MAX
}
 uart 流控模式。 更多...
 
enum  _xf_hal_uart_cmd_t {
  XF_HAL_UART_CMD_DEFAULT = 0x0 , XF_HAL_UART_CMD_ENABLE = 0x1 << 0 , XF_HAL_UART_CMD_DATA_BITS = 0x1 << 1 , XF_HAL_UART_CMD_STOP_BITS = 0x1 << 2 ,
  XF_HAL_UART_CMD_PARITY_BITS = 0x1 << 3 , XF_HAL_UART_CMD_FLOW_CONTROL = 0x1 << 4 , XF_HAL_UART_CMD_BAUDRATE = 0x1 << 5 , XF_HAL_UART_CMD_TX_NUM = 0x1 << 6 ,
  XF_HAL_UART_CMD_RX_NUM = 0x1 << 7 , XF_HAL_UART_CMD_RTS_NUM = 0x1 << 8 , XF_HAL_UART_CMD_CTS_NUM = 0x1 << 9 , XF_HAL_UART_CMD_ALL = 0x7FFFFFFF
}
 用于对接 uart 设置的命令。 更多...
 

函数

xf_err_t xf_hal_uart_init (xf_uart_num_t uart_num, uint32_t baudrate)
 uart 初始化。
 
xf_err_t xf_hal_uart_deinit (xf_uart_num_t uart_num)
 uart 反初始化。
 
xf_err_t xf_hal_uart_enable (xf_uart_num_t uart_num)
 uart 启用函数。
 
xf_err_t xf_hal_uart_disable (xf_uart_num_t uart_num)
 uart 禁用函数。
 
xf_err_t xf_hal_uart_set_gpio (xf_uart_num_t uart_num, xf_gpio_num_t tx_num, xf_gpio_num_t rx_num)
 uart 设置 uart 的通讯 io。
 
xf_err_t xf_hal_uart_set_config (xf_uart_num_t uart_num, xf_hal_uart_data_bits_t data_bits, xf_hal_uart_stop_bits_t stop_bits, xf_hal_uart_parity_bits_t parity_bits)
 设置 uart 相关配置。
 
xf_err_t xf_hal_uart_set_baudrate (xf_uart_num_t uart_num, uint32_t baudrate)
 设置 uart 的波特率。
 
uint32_t xf_hal_uart_get_baudrate (xf_uart_num_t uart_num)
 获取当前 uart 的波特率。
 
xf_err_t xf_hal_uart_set_flow_control (xf_uart_num_t uart_num, xf_hal_uart_flow_control_t flow_control, xf_gpio_num_t rts_num, xf_gpio_num_t cts_num)
 uart 流控 io 设置。
 
int xf_hal_uart_read (xf_uart_num_t uart_num, uint8_t *data, uint32_t data_len)
 uart 读取函数。
 
int xf_hal_uart_write (xf_uart_num_t uart_num, const uint8_t *data, uint32_t data_len)
 uart 写入函数。
 

详细描述

通用异步收发器。

类型定义说明

◆ xf_uart_num_t

typedef uint32_t xf_uart_num_t

uart 序号。

在文件 xf_hal_uart.h43 行定义.

◆ xf_hal_uart_data_bits_t

uart 的数据位。

◆ xf_hal_uart_stop_bits_t

uart 的停止位。

◆ xf_hal_uart_parity_bits_t

uart 校验位。

◆ xf_hal_uart_flow_control_t

uart 流控模式。

◆ xf_hal_uart_cmd_t

用于对接 uart 设置的命令。

注解
普通用户可忽略,移植者需注意。

◆ xf_hal_uart_config_t

用于对接 uart 设置的参数。

注解
普通用户可忽略,移植者需注意。

枚举类型说明

◆ _xf_hal_uart_data_bits_t

uart 的数据位。

枚举值
_XF_HAL_UART_DATA_BIT_BASE 
XF_HAL_UART_DATA_BIT_5 

5 bit 数据位

XF_HAL_UART_DATA_BIT_6 

6 bit 数据位

XF_HAL_UART_DATA_BIT_7 

7 bit 数据位

XF_HAL_UART_DATA_BIT_8 

8 bit 数据位

XF_HAL_UART_DATA_BIT_9 

9 bit 数据位

_XF_HAL_UART_DATA_BIT_MAX 

在文件 xf_hal_uart.h48 行定义.

◆ _xf_hal_uart_stop_bits_t

uart 的停止位。

枚举值
_XF_HAL_UART_STOP_BIT_BASE 
XF_HAL_UART_STOP_BIT_1 

1 bit 停止位

XF_HAL_UART_STOP_BIT_1_5 

1.5 bit 停止位

XF_HAL_UART_STOP_BIT_2 

2 bit 停止位

_XF_HAL_UART_STOP_BIT_MAX 

在文件 xf_hal_uart.h63 行定义.

◆ _xf_hal_uart_parity_bits_t

uart 校验位。

枚举值
_XF_HAL_UART_PARITY_BITS_BASE 
XF_HAL_UART_PARITY_BITS_NONE 

无校验位

XF_HAL_UART_PARITY_BITS_EVEN 

偶校验位

XF_HAL_UART_PARITY_BITS_ODD 

奇校验位

XF_HAL_UART_PARITY_BITS_SPACE 

空校验位

XF_HAL_UART_PARITY_BITS_MARK 

标记校验位

_XF_HAL_UART_PARITY_BITS_MAX 

在文件 xf_hal_uart.h76 行定义.

◆ _xf_hal_uart_flow_control_t

uart 流控模式。

枚举值
_XF_HAL_UART_FLOW_CONTROL_BASE 
XF_HAL_UART_FLOW_CONTROL_NONE 

无流控

XF_HAL_UART_FLOW_CONTROL_RTS 

RTS 流控

XF_HAL_UART_FLOW_CONTROL_CTS 

CTS 流控

XF_HAL_UART_FLOW_CONTROL_RTS_CTS 

RTS 和 CTS 流控

_XF_HAL_UART_FLOW_CONTROL_MAX 

在文件 xf_hal_uart.h91 行定义.

◆ _xf_hal_uart_cmd_t

用于对接 uart 设置的命令。

注解
普通用户可忽略,移植者需注意。
枚举值
XF_HAL_UART_CMD_DEFAULT 

默认参数命令,在创建设备时优先执行

XF_HAL_UART_CMD_ENABLE 

启用命令,见 xf_hal_uart_config_t::enable

XF_HAL_UART_CMD_DATA_BITS 

数据位命令,见 xf_hal_uart_config_t::data_bits

XF_HAL_UART_CMD_STOP_BITS 

停止位命令,见 xf_hal_uart_config_t::stop_bits

XF_HAL_UART_CMD_PARITY_BITS 

校验位命令,见 xf_hal_uart_config_t::parity_bits

XF_HAL_UART_CMD_FLOW_CONTROL 

流控命令,见 xf_hal_uart_config_t::flow_control

XF_HAL_UART_CMD_BAUDRATE 

波特率命令,见 xf_hal_uart_config_t::baudrate

XF_HAL_UART_CMD_TX_NUM 

tx io 命令,见 xf_hal_uart_config_t::tx_num

XF_HAL_UART_CMD_RX_NUM 

rx io 命令,见 xf_hal_uart_config_t::rx_num

XF_HAL_UART_CMD_RTS_NUM 

rtx io 命令,见 xf_hal_uart_config_t::rts_num

XF_HAL_UART_CMD_CTS_NUM 

ctx io 命令,见 xf_hal_uart_config_t::cts_num

XF_HAL_UART_CMD_ALL 

默认设置命令,在创建设备时其次执行

在文件 xf_hal_uart.h107 行定义.

函数说明

◆ xf_hal_uart_init()

xf_err_t xf_hal_uart_init ( xf_uart_num_t  uart_num,
uint32_t  baudrate 
)

uart 初始化。

使用 uart 之前必须要进行初始化。

参数
uart_numuart 的序号。
baudrateuart 的波特率。
返回
xf_err_t
  • XF_OK 成功初始化
  • other 初始化失败

在文件 xf_hal_uart.c50 行定义.

◆ xf_hal_uart_deinit()

xf_err_t xf_hal_uart_deinit ( xf_uart_num_t  uart_num)

uart 反初始化。

参数
uart_numuart 的序号。
返回
xf_err_t
  • XF_OK 成功反初始化
  • XF_ERR_UNINIT 该 uart 未初始化
  • other 反初始化失败

在文件 xf_hal_uart.c76 行定义.

◆ xf_hal_uart_enable()

xf_err_t xf_hal_uart_enable ( xf_uart_num_t  uart_num)

uart 启用函数。

uart 配置好功能后,可以调用 uart 启用函数进行激活。

注解
激活后,方可使用 xf_hal_uart_read 等函数。激活之前的配置是静态配置。
激活之后的配置属于动态配置,不一定所有的芯片都支持动态配置。
参数
uart_numuart 的序号。
返回
xf_err_t
  • XF_OK 成功启用
  • XF_ERR_UNINIT 该 uart 未初始化
  • other 启用失败

在文件 xf_hal_uart.c91 行定义.

◆ xf_hal_uart_disable()

xf_err_t xf_hal_uart_disable ( xf_uart_num_t  uart_num)

uart 禁用函数。

如果 uart 正在启用状态,且不支持动态配置。则需要该函数禁用 uart,配置后再次启用。

参数
uart_numuart 的序号。
返回
xf_err_t
  • XF_OK 成功禁用
  • XF_ERR_UNINIT 该 uart 未初始化
  • other 禁用失败

在文件 xf_hal_uart.c116 行定义.

◆ xf_hal_uart_set_gpio()

xf_err_t xf_hal_uart_set_gpio ( xf_uart_num_t  uart_num,
xf_gpio_num_t  tx_num,
xf_gpio_num_t  rx_num 
)

uart 设置 uart 的通讯 io。

参数
uart_numuart 的序号。
tx_numtx io 的序号。
rx_numrx io 的序号。
返回
xf_err_t 成功设置
  • XF_ERR_UNINIT 该 uart 未初始化
  • other 设置失败

在文件 xf_hal_uart.c141 行定义.

◆ xf_hal_uart_set_config()

xf_err_t xf_hal_uart_set_config ( xf_uart_num_t  uart_num,
xf_hal_uart_data_bits_t  data_bits,
xf_hal_uart_stop_bits_t  stop_bits,
xf_hal_uart_parity_bits_t  parity_bits 
)

设置 uart 相关配置。

参数
uart_numuart 的序号。
data_bits设置数据位。见 xf_hal_uart_data_bits_t.
stop_bits设置停止位。见 xf_hal_uart_stop_bits_t.
parity_bits设置校验位。见 xf_hal_uart_parity_bits_t.
返回
xf_err_t 成功设置
  • XF_ERR_UNINIT 该 uart 未初始化
  • other 设置失败

在文件 xf_hal_uart.c168 行定义.

◆ xf_hal_uart_set_baudrate()

xf_err_t xf_hal_uart_set_baudrate ( xf_uart_num_t  uart_num,
uint32_t  baudrate 
)

设置 uart 的波特率。

参数
uart_numuart 的序号。
baudrate波特率数值。
返回
xf_err_t 成功设置
  • XF_ERR_UNINIT 该 uart 未初始化
  • other 设置失败

在文件 xf_hal_uart.c197 行定义.

◆ xf_hal_uart_get_baudrate()

uint32_t xf_hal_uart_get_baudrate ( xf_uart_num_t  uart_num)

获取当前 uart 的波特率。

参数
uart_numuart 的序号。
返回
uint32_t 获取到的波特率值。为 0 则获取失败

在文件 xf_hal_uart.c222 行定义.

◆ xf_hal_uart_set_flow_control()

xf_err_t xf_hal_uart_set_flow_control ( xf_uart_num_t  uart_num,
xf_hal_uart_flow_control_t  flow_control,
xf_gpio_num_t  rts_num,
xf_gpio_num_t  cts_num 
)

uart 流控 io 设置。

参数
uart_numuart 的序号。
flow_control流控类型。见 xf_hal_uart_flow_control_t.
rts_numrts io 的序号。如果是 XF_HAL_UART_FLOW_CONTROL_CTS ,则该参数无效。
cts_numcts io 的序号。如果是 XF_HAL_UART_FLOW_CONTROL_RTS ,则该参数无效。
返回
xf_err_t 成功设置
  • XF_ERR_UNINIT 该 uart 未初始化
  • other 设置失败

在文件 xf_hal_uart.c241 行定义.

◆ xf_hal_uart_read()

int xf_hal_uart_read ( xf_uart_num_t  uart_num,
uint8_t *  data,
uint32_t  data_len 
)

uart 读取函数。

参数
uart_numuart 的序号。
data读取的数据指针。
data_len读取数据长度。
返回
int 实际读取的大小

在文件 xf_hal_uart.c270 行定义.

◆ xf_hal_uart_write()

int xf_hal_uart_write ( xf_uart_num_t  uart_num,
const uint8_t *  data,
uint32_t  data_len 
)

uart 写入函数。

参数
uart_numuart 的序号。
data写入的数据指针。
data_len写入数据长度。
返回
int 实际写入的大小

在文件 xf_hal_uart.c285 行定义.