WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
UART API

结构体

struct  hal_uart_pin_config_t
 UART的PIN配置数据结构定义 更多...
 
struct  uart_attr
 UART基础配置参数定义 更多...
 
struct  uart_extra_attr
 UART扩展配置参数定义 更多...
 
struct  hal_uart_funcs_t
 Driver层UART和HAL层UART的接口 更多...
 

类型定义

typedef enum hal_uart_data_bit hal_uart_data_bit_t
 UART数据位定义
 
typedef enum hal_uart_parity hal_uart_parity_t
 UART奇偶校验位定义
 
typedef enum hal_uart_stop_bit hal_uart_stop_bit_t
 UART停止位定义
 
typedef enum hal_uart_ctrl_id hal_uart_ctrl_id_t
 UART控制ID定义
 
typedef enum hal_uart_evt_id hal_uart_evt_id_t
 HAL层UART事件ID的定义
 
typedef struct uart_attr hal_uart_attr_t
 UART基础配置参数定义
 
typedef struct uart_extra_attr hal_uart_extra_attr_t
 UART扩展配置参数定义
 
typedef errcode_t(* hal_uart_callback_t) (uart_bus_t bus, hal_uart_evt_id_t evt, uintptr_t param)
 UART的回调函数
 
typedef errcode_t(* hal_uart_init_t) (uart_bus_t bus, hal_uart_callback_t callback, const hal_uart_pin_config_t *pins, const hal_uart_attr_t *attr, hal_uart_flow_ctrl_t flow_ctrl, hal_uart_extra_attr_t *extra_attr)
 HAL层UART的初始化接口
 
typedef errcode_t(* hal_uart_deinit_t) (uart_bus_t bus)
 HAL层UART去初始化接口
 
typedef errcode_t(* hal_uart_ctrl_t) (uart_bus_t bus, hal_uart_ctrl_id_t id, uintptr_t param)
 HAL层UART控制接口
 
typedef errcode_t(* hal_uart_write_t) (uart_bus_t bus, const uint8_t *data, uint16_t len)
 HAL层UART发送数据接口
 
typedef int32_t(* hal_uart_read_t) (uart_bus_t bus, const uint8_t *data, uint16_t len)
 HAL层UART读取数据接口
 
typedef void(* hal_uart_dma_cfg_t) (uart_bus_t bus, const hal_uart_extra_attr_t *extra_attr)
 HAL层配置DMA传输接口
 

枚举

enum  hal_uart_data_bit { UART_DATA_BIT_5 , UART_DATA_BIT_6 , UART_DATA_BIT_7 , UART_DATA_BIT_8 }
 UART数据位定义 更多...
 
enum  hal_uart_parity { UART_PARITY_NONE , UART_PARITY_ODD , UART_PARITY_EVEN }
 UART奇偶校验位定义 更多...
 
enum  hal_uart_stop_bit { UART_STOP_BIT_1 , UART_STOP_BIT_2 }
 UART停止位定义 更多...
 
enum  uart_fifo_rx_int_lvl_t {
  UART_FIFO_INT_RX_LEVEL_1_CHARACTER = 0 , UART_FIFO_INT_RX_LEVEL_1_8 = 0 , UART_FIFO_INT_RX_LEVEL_1_4 = 1 , UART_FIFO_INT_RX_LEVEL_1_2 = 2 ,
  UART_FIFO_INT_RX_LEVEL_2_LESS_THAN_FULL = 3 , UART_FIFO_INT_RX_LEVEL_3_4 = 3 , UART_FIFO_INT_RX_LEVEL_7_8 = 4
}
 HAL层UART触发RX中断水线定义 更多...
 
enum  uart_fifo_tx_int_lvl_t {
  UART_FIFO_INT_TX_LEVEL_EQ_0_CHARACTER = 0 , UART_FIFO_INT_TX_LEVEL_1_8 = 0 , UART_FIFO_INT_TX_LEVEL_EQ_2_CHARACTER = 1 , UART_FIFO_INT_TX_LEVEL_1_4 = 2 ,
  UART_FIFO_INT_TX_LEVEL_1_2 = 3 , UART_FIFO_INT_TX_LEVEL_3_4 = 4 , UART_FIFO_INT_TX_LEVEL_7_8 = 5
}
 HAL层UART触发TX中断水线定义 更多...
 
enum  hal_uart_ctrl_id {
  UART_CTRL_SET_ATTR = 0 , UART_CTRL_GET_ATTR , UART_CTRL_EN_TX_INT , UART_CTRL_EN_RX_INT ,
  UART_CTRL_EN_IDLE_INT , UART_CTRL_EN_PARITY_ERR_INT , UART_CTRL_EN_FRAME_ERR_INT , UART_CTRL_CHECK_TX_FIFO_FULL ,
  UART_CTRL_CHECK_TX_BUSY , UART_CTRL_CHECK_RX_FIFO_EMPTY , UART_CTRL_FIFO_ENABLE , UART_CTRL_SET_RX_FIFO_LEVEL ,
  UART_CTRL_SET_TX_FIFO_LEVEL , UART_CTRL_GET_REG_ADDRS , UART_CTRL_TX_DMA_PROCESS , UART_CTRL_FLOW_CTRL ,
  UART_CTRL_RESTORE , UART_CTRL_CHECK_UART_BUSY , UART_CTRL_GET_RX_FIFO_PASSNUM , UART_CTRL_SUSPEND ,
  UART_CTRL_RESUME , UART_CTRL_GET_DMA_DATA_ADDR , UART_CTRL_GET_RX_FIFO_THRESHOLD , UART_CTRL_MAX ,
  UART_CTRL_ID_INVALID = 0xFF
}
 UART控制ID定义 更多...
 
enum  hal_uart_evt_id {
  UART_EVT_RX_ISR = 1 , UART_EVT_TX_ISR , UART_EVT_IDLE_ISR , UART_EVT_PARITY_ERR_ISR ,
  UART_EVT_FRAME_ERR_ISR , UART_EVT_BREAK_ERR_ISR , UART_EVT_OVERRUN_ERR_ISR
}
 HAL层UART事件ID的定义 更多...
 
enum  hal_uart_dma_process_t { UART_DMA_PROCESS_PREPARE , UART_DMA_PROCESS_FINISH , UART_DMA_PROCESS_INVALID = 0xFF }
 DMA处理类型定义 更多...
 
enum  hal_uart_flow_ctrl_t {
  UART_FLOW_CTRL_NONE = 0x0 , UART_FLOW_CTS = 0x1 , UART_FLOW_RTS = 0x2 , UART_FLOW_CTRL_RTS_CTS = UART_FLOW_CTS | UART_FLOW_RTS ,
  UART_FLOW_CTRL_SOFT = 0x4
}
 Definition of UART Flow Control. 更多...
 

函数

errcode_t hal_uart_register_funcs (uart_bus_t bus, hal_uart_funcs_t *funcs)
 注册 hal_uart_funcs_t 到 g_hal_uarts_funcs
 
errcode_t hal_uart_unregister_funcs (uart_bus_t bus)
 从g_hal_uarts_funcs注销 hal_uart_funcs_t
 
uintptr_t hal_uart_base_addrs_get (uart_bus_t bus)
 获取指定UART的基地址。
 
errcode_t hal_uart_regs_init (uart_bus_t bus)
 初始化UART,设置寄存器的基地址
 
hal_uart_funcs_thal_uart_get_funcs (uart_bus_t bus)
 获取Driver层UART和HAL层UART的接口实例,参考 hal_uart_funcs_t.
 
errcode_t hal_uart_set_tx_fifo_int_level (uart_bus_t bus, uart_fifo_tx_int_lvl_t level)
 设置uart触发中断的发送fifo阈值
 
errcode_t hal_uart_set_rx_fifo_int_level (uart_bus_t bus, uart_fifo_rx_int_lvl_t level)
 设置uart触发接收中断的接收fifo阈值
 
errcode_t hal_uart_init (uart_bus_t bus, hal_uart_callback_t callback, const hal_uart_pin_config_t *pins, const hal_uart_attr_t *attr, hal_uart_flow_ctrl_t flow_ctrl, hal_uart_extra_attr_t *extra_attr)
 HAL层UART的初始化接口
 
errcode_t hal_uart_deinit (uart_bus_t bus)
 HAL层UART去初始化接口
 
errcode_t hal_uart_ctrl (uart_bus_t bus, hal_uart_ctrl_id_t id, uintptr_t param)
 HAL层UART控制接口
 
errcode_t hal_uart_write (uart_bus_t bus, const uint8_t *data, uint16_t len)
 HAL层UART发送数据接口
 
int32_t hal_uart_read (uart_bus_t bus, const uint8_t *data, uint16_t len)
 HAL层UART读取数据接口
 
void hal_uart_set_dma_config (uart_bus_t bus, const hal_uart_extra_attr_t *extra_attr)
 HAL层配置DMA传输接口
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved.

Description: Provides hal uart
History:
2023-02-17, Create file.

类型定义说明

◆ hal_uart_attr_t

typedef struct uart_attr hal_uart_attr_t

UART基础配置参数定义

◆ hal_uart_callback_t

typedef errcode_t(* hal_uart_callback_t) (uart_bus_t bus, hal_uart_evt_id_t evt, uintptr_t param)

UART的回调函数

◆ hal_uart_ctrl_id_t

UART控制ID定义

◆ hal_uart_ctrl_t

typedef errcode_t(* hal_uart_ctrl_t) (uart_bus_t bus, hal_uart_ctrl_id_t id, uintptr_t param)

HAL层UART控制接口

◆ hal_uart_data_bit_t

UART数据位定义

◆ hal_uart_deinit_t

typedef errcode_t(* hal_uart_deinit_t) (uart_bus_t bus)

HAL层UART去初始化接口

◆ hal_uart_dma_cfg_t

typedef void(* hal_uart_dma_cfg_t) (uart_bus_t bus, const hal_uart_extra_attr_t *extra_attr)

HAL层配置DMA传输接口

◆ hal_uart_evt_id_t

HAL层UART事件ID的定义

◆ hal_uart_extra_attr_t

UART扩展配置参数定义

◆ hal_uart_init_t

typedef errcode_t(* hal_uart_init_t) (uart_bus_t bus, hal_uart_callback_t callback, const hal_uart_pin_config_t *pins, const hal_uart_attr_t *attr, hal_uart_flow_ctrl_t flow_ctrl, hal_uart_extra_attr_t *extra_attr)

HAL层UART的初始化接口

◆ hal_uart_parity_t

UART奇偶校验位定义

◆ hal_uart_read_t

typedef int32_t(* hal_uart_read_t) (uart_bus_t bus, const uint8_t *data, uint16_t len)

HAL层UART读取数据接口

◆ hal_uart_stop_bit_t

UART停止位定义

◆ hal_uart_write_t

typedef errcode_t(* hal_uart_write_t) (uart_bus_t bus, const uint8_t *data, uint16_t len)

HAL层UART发送数据接口

枚举类型说明

◆ hal_uart_ctrl_id

UART控制ID定义

枚举值
UART_CTRL_SET_ATTR 

设置基础参数

UART_CTRL_GET_ATTR 

设置扩展参数

UART_CTRL_EN_TX_INT 

使能TX中断

UART_CTRL_EN_RX_INT 

使能RX中断

UART_CTRL_EN_IDLE_INT 

使能接收IDLE中断

UART_CTRL_EN_PARITY_ERR_INT 

使能奇偶校验错误中断

UART_CTRL_EN_FRAME_ERR_INT 

使能帧错误中断

UART_CTRL_CHECK_TX_FIFO_FULL 

判断TX FIFO是否为满

UART_CTRL_CHECK_TX_BUSY 

判断是否正在发送数据

UART_CTRL_CHECK_RX_FIFO_EMPTY 

判断RX FIFO是否为空

UART_CTRL_FIFO_ENABLE 

使能FIFO

UART_CTRL_SET_RX_FIFO_LEVEL 

设置RX FIFO的Level

UART_CTRL_SET_TX_FIFO_LEVEL 

设置TX FIFO的Level

UART_CTRL_GET_REG_ADDRS 

获取寄存器地址

UART_CTRL_TX_DMA_PROCESS 

处理TX的DMA

UART_CTRL_FLOW_CTRL 

设置流控

UART_CTRL_RESTORE 

恢复寄存器值

UART_CTRL_CHECK_UART_BUSY 

查看uart bus状态是否在忙

UART_CTRL_GET_RX_FIFO_PASSNUM 

获取指定 uart 的 rx 水线可通过数目

UART_CTRL_SUSPEND 

挂起设备,保存寄存器值。

UART_CTRL_RESUME 

恢复设备,重新配置寄存器值。

UART_CTRL_GET_DMA_DATA_ADDR 
UART_CTRL_GET_RX_FIFO_THRESHOLD 

获取uart fifo的阈值

UART_CTRL_MAX 
UART_CTRL_ID_INVALID 

◆ hal_uart_data_bit

UART数据位定义

枚举值
UART_DATA_BIT_5 

UART数据位为5-bit

UART_DATA_BIT_6 

UART数据位为6-bit

UART_DATA_BIT_7 

UART数据位为7-bit

UART_DATA_BIT_8 

UART数据位为8-bit

◆ hal_uart_dma_process_t

DMA处理类型定义

枚举值
UART_DMA_PROCESS_PREPARE 

DMA准备处理

UART_DMA_PROCESS_FINISH 

DMA完成处理

UART_DMA_PROCESS_INVALID 

◆ hal_uart_evt_id

HAL层UART事件ID的定义

枚举值
UART_EVT_RX_ISR 

接收中断触发

UART_EVT_TX_ISR 

TX中断被触发

UART_EVT_IDLE_ISR 

IDLE中断被触发

UART_EVT_PARITY_ERR_ISR 

奇偶校验错误中断被触发

UART_EVT_FRAME_ERR_ISR 

帧错误中断被触发

UART_EVT_BREAK_ERR_ISR 

线中止错误被触发

UART_EVT_OVERRUN_ERR_ISR 

超载错误被触发

◆ hal_uart_flow_ctrl_t

Definition of UART Flow Control.

枚举值
UART_FLOW_CTRL_NONE 
UART_FLOW_CTS 
UART_FLOW_RTS 
UART_FLOW_CTRL_RTS_CTS 
UART_FLOW_CTRL_SOFT 

◆ hal_uart_parity

UART奇偶校验位定义

枚举值
UART_PARITY_NONE 

UART无奇偶校验

UART_PARITY_ODD 

UART奇校验

UART_PARITY_EVEN 

UART偶校验

◆ hal_uart_stop_bit

UART停止位定义

枚举值
UART_STOP_BIT_1 

UART停止位为1-bit

UART_STOP_BIT_2 

UART停止位为2-bit

◆ uart_fifo_rx_int_lvl_t

HAL层UART触发RX中断水线定义

枚举值
UART_FIFO_INT_RX_LEVEL_1_CHARACTER 
UART_FIFO_INT_RX_LEVEL_1_8 
UART_FIFO_INT_RX_LEVEL_1_4 
UART_FIFO_INT_RX_LEVEL_1_2 
UART_FIFO_INT_RX_LEVEL_2_LESS_THAN_FULL 
UART_FIFO_INT_RX_LEVEL_3_4 
UART_FIFO_INT_RX_LEVEL_7_8 

◆ uart_fifo_tx_int_lvl_t

HAL层UART触发TX中断水线定义

枚举值
UART_FIFO_INT_TX_LEVEL_EQ_0_CHARACTER 
UART_FIFO_INT_TX_LEVEL_1_8 
UART_FIFO_INT_TX_LEVEL_EQ_2_CHARACTER 
UART_FIFO_INT_TX_LEVEL_1_4 
UART_FIFO_INT_TX_LEVEL_1_2 
UART_FIFO_INT_TX_LEVEL_3_4 
UART_FIFO_INT_TX_LEVEL_7_8 

函数说明

◆ hal_uart_base_addrs_get()

uintptr_t hal_uart_base_addrs_get ( uart_bus_t  bus)

获取指定UART的基地址。

◆ hal_uart_ctrl()

errcode_t hal_uart_ctrl ( uart_bus_t  bus,
hal_uart_ctrl_id_t  id,
uintptr_t  param 
)

HAL层UART控制接口

◆ hal_uart_deinit()

errcode_t hal_uart_deinit ( uart_bus_t  bus)

HAL层UART去初始化接口

◆ hal_uart_get_funcs()

hal_uart_funcs_t * hal_uart_get_funcs ( uart_bus_t  bus)

获取Driver层UART和HAL层UART的接口实例,参考 hal_uart_funcs_t.

◆ hal_uart_init()

errcode_t hal_uart_init ( uart_bus_t  bus,
hal_uart_callback_t  callback,
const hal_uart_pin_config_t pins,
const hal_uart_attr_t attr,
hal_uart_flow_ctrl_t  flow_ctrl,
hal_uart_extra_attr_t extra_attr 
)

HAL层UART的初始化接口

◆ hal_uart_read()

int32_t hal_uart_read ( uart_bus_t  bus,
const uint8_t *  data,
uint16_t  len 
)

HAL层UART读取数据接口

◆ hal_uart_register_funcs()

errcode_t hal_uart_register_funcs ( uart_bus_t  bus,
hal_uart_funcs_t funcs 
)

注册 hal_uart_funcs_t 到 g_hal_uarts_funcs

◆ hal_uart_regs_init()

errcode_t hal_uart_regs_init ( uart_bus_t  bus)

初始化UART,设置寄存器的基地址

◆ hal_uart_set_dma_config()

void hal_uart_set_dma_config ( uart_bus_t  bus,
const hal_uart_extra_attr_t extra_attr 
)

HAL层配置DMA传输接口

◆ hal_uart_set_rx_fifo_int_level()

errcode_t hal_uart_set_rx_fifo_int_level ( uart_bus_t  bus,
uart_fifo_rx_int_lvl_t  level 
)

设置uart触发接收中断的接收fifo阈值

◆ hal_uart_set_tx_fifo_int_level()

errcode_t hal_uart_set_tx_fifo_int_level ( uart_bus_t  bus,
uart_fifo_tx_int_lvl_t  level 
)

设置uart触发中断的发送fifo阈值

◆ hal_uart_unregister_funcs()

errcode_t hal_uart_unregister_funcs ( uart_bus_t  bus)

从g_hal_uarts_funcs注销 hal_uart_funcs_t

◆ hal_uart_write()

errcode_t hal_uart_write ( uart_bus_t  bus,
const uint8_t *  data,
uint16_t  len 
)

HAL层UART发送数据接口