UART驱动的结构体
uart_init_t
UART驱动的初始化结构体uart_init_t的定义如下:
| 数据域 | 域段描述 | 取值 |
|---|---|---|
uint32_t baud_rate |
波特率 |
9600 ~ 921600 |
uint32_t data_bits |
数据位 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t stop_bits |
停止位 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t parity |
校验位 |
该参数的取值可以是下列值中的任意一个: UART_PARITY_NONE(无校验) UART_PARITY_EVEN(偶校验) UART_PARITY_ODD(奇校验) UART_PARITY_SP0(校验位始终为0) UART_PARITY_SP1(校验位始终为1) |
uint32_t hw_flow_ctrl |
硬件流控 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t rx_timeoout_mode |
接收超时 |
该参数的取值可以是下列值中的任意一个:
|
uart_handle_t
UART驱动的句柄结构体uart_handle_t的定义如下:
| 数据域 | 域段描述 | 取值 |
|---|---|---|
|
uart_regs_t *p_instance |
UART外设实例 |
该参数的取值可以是下列值中的任意一个:
|
|
uart_init_t init |
初始化结构体 |
参考uart_init_t结构体。 |
|
uint8_t *p_tx_buffer |
指向数据发送缓冲区的指针(驱动负责管理,无需开发者初始化) |
N/A |
|
__IO uint16_t tx_xfer_size |
数据发送长度(驱动负责管理,无需开发者初始化) |
N/A |
|
__IO uint16_t tx_xfer_count |
数据发送计数(驱动负责管理,无需开发者初始化) |
N/A |
|
uint8_t *p_rx_buffer |
指向数据接收缓冲区的指针(驱动负责管理,无需开发者初始化) |
N/A |
|
__IO uint16_t rx_xfer_size |
数据接收长度(驱动负责管理,无需开发者初始化) |
N/A |
|
__IO uint16_t rx_xfer_count |
数据接收计数(驱动负责管理,无需开发者初始化) |
N/A |
|
dma_handle_t *p_dmatx |
指向数据发送通道的DMA句柄的指针(驱动负责管理,无需开发者初始化) |
N/A |
|
dma_handle_t *p_dmarx |
指向数据接收通道的DMA句柄的指针 |
接收通道的DMA句柄dma_handle_t结构体 |
|
__IO hal_lock_t lock |
UART锁(驱动负责管理,无需开发者初始化) |
N/A |
|
__IO hal_uart_state_t tx_state |
UART运行状态(无需开发者初始化) |
该参数的取值可以是下列值中的任意一个:
|
|
__IO hal_uart_state_t rx_state |
UART接收运行状态(无需开发者初始化) |
该参数的取值可以是下列值中的任意一个:
|
|
__IO hal_uart_mode_t mode |
UART工作模式(驱动负责管理,无需开发者初始化) |
N/A |
|
__IO uint32_t error_code |
UART错误码(无需开发者初始化) |
该参数的取值可以是下列值中的任意一个:
|
|
uint32_t retention[8] |
保存UART寄存器信息(驱动负责管理,无需开发者初始化) |
N/A |