CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

UART驱动的结构体

uart_init_t

UART驱动的初始化结构体uart_init_t的定义如下:

表 413 uart_init_t结构体
数据域 域段描述 取值

uint32_t baud_rate

波特率

9600 ~ 921600

uint32_t data_bits

数据位

该参数的取值可以是下列值中的任意一个:

  • UART_DATABITS_5B(5位)
  • UART_DATABITS_6B(6位)
  • UART_DATABITS_7B(7位)
  • UART_DATABITS_8B(8位)

uint32_t stop_bits

停止位

该参数的取值可以是下列值中的任意一个:

  • UART_STOPBITS_1(1位)
  • UART_STOPBITS_1_5(1.5位)
  • UART_STOPBITS_2(2位)
UART_STOPBITS_1_5仅在数据位为UART_DATABITS_5时可用,UART_STOPBITS_2在数据位为UART_DATABITS_5时不可用

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

硬件流控

该参数的取值可以是下列值中的任意一个:

  • UART_HWCONTROL_NONE(无流控)
  • UART_HWCONTROL_RTS_CTS(自动流控)

uint32_t rx_timeoout_mode

接收超时

该参数的取值可以是下列值中的任意一个:

  • UART_RECEIVER_TIMEOUT_DISABLE(停止接收超时)
  • UART_RECEIVER_TIMEOUT_ENABLE(开启接收超时)

uart_handle_t

UART驱动的句柄结构体uart_handle_t的定义如下:

表 414 uart_handle_t结构体
数据域 域段描述 取值

uart_regs_t *p_instance

UART外设实例

该参数的取值可以是下列值中的任意一个:

  • UART0
  • UART1

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运行状态(无需开发者初始化)

该参数的取值可以是下列值中的任意一个:

  • HAL_UART_STATE_RESET(未初始化)
  • HAL_UART_STATE_READY(已初始化且空闲)
  • HAL_UART_STATE_BUSY(忙)
  • HAL_UART_STATE_BUSY_TX(正在发送)
  • HAL_UART_STATE_BUSY_RX (正在接收)
  • HAL_UART_STATE_TIMEOUT(超时)
  • HAL_UART_STATE_ERROR(错误)

__IO hal_uart_state_t rx_state

UART接收运行状态(无需开发者初始化)

该参数的取值可以是下列值中的任意一个:

  • HAL_UART_STATE_RESET(未初始化)
  • HAL_UART_STATE_READY(已初始化且空闲)
  • HAL_UART_STATE_BUSY(忙)
  • HAL_UART_STATE_BUSY_TX(正在发送)
  • HAL_UART_STATE_BUSY_RX (正在接收)
  • HAL_UART_STATE_TIMEOUT(超时)
  • HAL_UART_STATE_ERROR(错误)

__IO hal_uart_mode_t mode

UART工作模式(驱动负责管理,无需开发者初始化)

N/A

__IO uint32_t error_code

UART错误码(无需开发者初始化)

该参数的取值可以是下列值中的任意一个:

  • HAL_UART_ERROR_NONE(无错误)
  • HAL_UART_ERROR_PE(校验位错误)
  • HAL_UART_ERROR_FE(帧错误)
  • HAL_UART_ERROR_OE(溢出错误)
  • HAL_UART_ERROR_BI(Line Break错误)
  • HAL_UART_ERROR_DMA(DMA传输错误)
  • HAL_UART_ERROR_BUSY(忙)

uint32_t retention[8]

保存UART寄存器信息(驱动负责管理,无需开发者初始化)

N/A

扫描关注

打开微信,使用“扫一扫”即可关注。