如何使用UART驱动
UART HAL驱动使用方法如下:
- 声明一个uart_handle_t句柄结构,例如:uart_handle_t uart_handle。
- 重写hal_uart_msp_init()以初始化UART底层资源:
- 配置UART引脚:调用hal_gpio_init()配置GPIO模式为GPIO_MODE_MUX,并将相应的GPIO的复用功能配置为UART。
- 如果开发者要使用中断流程(hal_uart_transmit_it()和hal_uart_receive_it()APIs),则需通过调用相关的NVIC接口来配置:
- 调用hal_nvic_set_priority()配置UART中断优先级。
- 调用hal_nvic_enable_irq()使能UART的NVIC中断。
- 如果开发者要使用DMA流程(hal_uart_transmit_DMA()和hal_uart_receive_DMA()APIs),则需要配置DMA:
- 为TX/RX通道声明DMA句柄结构,例如:dma_handle_t htxdma。
- 使用所需的TX/RX参数配置声明的DMA句柄结构。
- 配置DMA TX/RX信道。
- 将初始的DMA句柄关联到UART DMA TX/RX句柄。
- 在DMA TX/RX信道上配置优先级和使能传输完成中断。
- 配置uart_handle句柄init结构中的波特率、数据比特位、停止位、奇偶校验位、硬件流控和模式(接收/发送)。
- 调用hal_uart_init()API初始化UART寄存器。