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

结构体

app_uart_pin_t

结构体定义如下:

表 53 app_uart_pin_t结构体成员
成员 描述 取值

app_io_type_t type

设置IO类型

app_io_evt_t中描述

app_io_mux_t mux

设置IO映射功能

参考app_io_init_t结构体,具体映射模式参考芯片Datasheet中的Pin Mux

uint32_t pin

选择IO引脚

参考app_io_init_t结构体,具体根据芯片Datasheet中UART资源进行选择

app_io_pull_t pull

设置IO上拉/下拉/浮空

参考app_io_init_t结构体

详细信息请参考文件:SDK_Folder\drivers\inc\app_uart.h

app_uart_pin_cfg_t

结构体定义如下:

表 54 app_uart_pin_cfg_t结构体成员
成员 描述 取值

app_uart_pin_t tx

UART_TX引脚配置

参考app_uart_pin_t结构体

app_uart_pin_t rx

UART_RX引脚配置

参考app_uart_pin_t结构体

app_uart_pin_t cts

UART_CTS引脚配置

参考app_uart_pin_t结构体

app_uart_pin_t rts

UART_RTS引脚配置

参考app_uart_pin_t结构体

详细信息请参考文件:SDK_Folder\drivers\inc\app_uart.h

app_uart_dma_cfg_t

结构体定义如下:

表 55 app_uart_dma_cfg_t结构体成员
成员 描述 取值

dma_reg_t *tx_dma_instance

UART_TX指定DMA模块配置

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

  • DMA0
  • DMA1

仅适用于GR5526,具体选择参考2.4.1.1 app_dma_params_t章节中,DMA0/DMA1支持的外设

dma_reg_t *rx_dma_instance

UART_RX指定DMA模块配置

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

  • DMA0
  • DMA1

仅适用于GR5526,具体选择参考2.4.1.1 app_dma_params_t章节中,DMA0/DMA1支持的外设

dma_channel_t

tx_dma_channel

UART_TX的DMA通道选择

2.4.1.1 app_dma_params_t中通道描述

dma_channel_t

rx_dma_channel

UART_RX的DMA通道选择

2.4.1.1 app_dma_params_t中通道描述

详细信息请参考文件:SDK_Folder\drivers\inc\app_uart.h

app_uart_params_t

结构体定义如下:

表 56 app_uart_params_t结构体成员
成员 描述 取值

app_uart_id_t id

设置使用的UART模块ID

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

GR5526:

  • APP_UART_ID_0(UART0)
  • APP_UART_ID_1(UART1)
  • APP_UART_ID_2(UART2)
  • APP_UART_ID_3(UART3)
  • APP_UART_ID_4(UART4)
  • APP_UART_ID_5(UART5)

GR551x:

  • APP_UART_ID_0(UART0)
  • APP_UART_ID_1(UART1)

app_uart_pin_cfg_t pin_cfg

UART引脚功能设置

参考app_uart_pin_cfg_t结构体

app_uart_dma_cfg_t dma_cfg

UART DMA传输参数配置

参考app_uart_dma_cfg_t结构体

uart_init_t init

UART初始化参数配置

参考uart_init_t结构体

uart_env_t uart_dev

保存相关数据和句柄,不需要用户配置

详细信息请参考文件:SDK_Folder\drivers\inc\app_uart.h

uart_init_t

结构体定义如下:

表 57 uart_init_t结构体成员
成员 描述 取值

uint32_t baud_rate

波特率

GR5526:
  • 0~4000000(默认115200)
GR551x:
  • 0~2000000(默认115200)

uint32_t data_bits

数据位

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

  • UART_DATABITS_5(5 bits)
  • UART_DATABITS_6(6 bits)
  • UART_DATABITS_7(7 bits)
  • UART_DATABITS_8(8 bits)

uint32_t stop_bits;

停止位

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

  • UART_STOPBITS_1(1 bit)
  • UART_STOPBITS_1_5(1.5 bits)
  • UART_STOPBITS_2(2 bits)

uint32_t parity

奇偶校验位

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

  • UART_PARITY_NONE(无校验位)
  • UART_PARITY_ODD(奇校验)
  • UART_PARITY_EVEN(偶校验)
  • UART_PARITY_SP0(0校验)
  • UART_PARITY_SP1(1校验)

uint32_t hw_flow_ctrl

硬件流控使能位

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

  • UART_HWCONTROL_NONE(无硬件流控)
  • UART_HWCONTROL_RTS_CTS(硬件流控使能)

uint32_t rx_timeout_mode

接收超时使能位

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

  • UART_RECEIVER_TIMEOUT_ENABLE(使能)
  • UART_RECEIVER_TIMEOUT_DISABLE(不使能)

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_uart.h

app_uart_evt_t

结构体定义如下:

表 58 app_uart_evt_t结构体成员
成员 描述 取值

app_uart_evt_type_t type

串口事件类型

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

  • APP_UART_EVT_ERROR(UART传输错误)
  • APP_UART_EVT_TX_CPLT(UART发送完成)
  • APP_UART_EVT_RX_DATA(UART接收完成)
  • APP_UART_EVT_ABORT_TX(UART中断发送)
  • APP_UART_EVT_ABORT_RX(UART中断接收)
  • APP_UART_EVT_ABORT_TXRX (UART中断发送和接收)

union

{

uint32_t error_code;

unt16_t size;

}data;

  • uint32_t error_code:串口事件返回的错误号

  • uint16_t size:串口已接收/发送的数据长度

说明:

若事件类型为传输错误,此处返回错误号;若事件类型为接收/发送完成,此处显示已接收/发送的数据长度

串口错误号:

  • HAL_UART_ERROR_NONE(无错误)
  • HAL_UART_ERROR_PE(奇偶校验错误)
  • HAL_UART_ERROR_FE (帧错误,一般发生在接收方检测到无效的停止位)

  • HAL_UART_ERROR_OE(接收溢出错误)

  • HAL_UART_ERROR_BI (中断错误,一般发生在RX被拉低超过1帧数据时)

  • HAL_UART_ERROR_DMA(DMA传输错误)

  • HAL_UART_ERROR_BUSY(当前串口正在传输)

  • HAL_UART_ERROR_INVALID_PARAM(无效参数)

详细信息请参考文件:SDK_Folder\drivers\inc\app_uart.h

app_uart_tx_buf_t

结构体定义如下:

表 59 app_uart_tx_buf_t结构体成员
成员 描述 取值

uint8_t* tx_buf

串口发送缓存

串口发送缓存的地址

uint32_t tx_buf_size

串口发送缓存大小

发送缓存的大小

说明:

在串口的异步传输中,因为FIFO深度只有128字节,为了满足开发者可以一次发送更大长度(>128)的数据,创建了一个环形缓存空间,把开发者需要发送的数据全部存放在此,然后每次以128的数据长度发送。

详细信息请参考文件:SDK_Folder\drivers\inc\app_uart.h

扫描关注

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