|
| 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_t * | hal_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
◆ hal_uart_callback_t
◆ hal_uart_ctrl_id_t
◆ hal_uart_ctrl_t
◆ hal_uart_data_bit_t
◆ hal_uart_deinit_t
◆ hal_uart_dma_cfg_t
◆ hal_uart_evt_id_t
◆ hal_uart_extra_attr_t
◆ hal_uart_init_t
◆ hal_uart_parity_t
◆ hal_uart_read_t
| typedef int32_t(* hal_uart_read_t) (uart_bus_t bus, const uint8_t *data, uint16_t len) |
◆ hal_uart_stop_bit_t
◆ hal_uart_write_t
◆ 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()
◆ hal_uart_ctrl()
◆ hal_uart_deinit()
◆ hal_uart_get_funcs()
◆ hal_uart_init()
◆ hal_uart_read()
| int32_t hal_uart_read |
( |
uart_bus_t |
bus, |
|
|
const uint8_t * |
data, |
|
|
uint16_t |
len |
|
) |
| |
◆ hal_uart_register_funcs()
◆ hal_uart_regs_init()
◆ hal_uart_set_dma_config()
◆ hal_uart_set_rx_fifo_int_level()
◆ hal_uart_set_tx_fifo_int_level()
◆ hal_uart_unregister_funcs()
◆ hal_uart_write()