初始化一些串口函数(以F4为例)

//在stm32f4xx_hal_uart.h中//

/* Initialization/de-initialization functions  **********************************/

//串口的初始化,对需要的使用的串口进行初始化
HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)

//串口初始化回调函数,配置一些io的引脚,开启一些时钟

void HAL_UART_MspInit(UART_HandleTypeDef *huart);

//串口发送函数
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);

//串口接收函数
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);

//串口发送并且,开启串口中断
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);

//串口接收函数,开启串口中断
HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);

//串口通过DMA传输数据
HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);

//串口通过DMA接收数据
HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);

//串口通用入口函数

void HAL_UART_IRQHandler(UART_HandleTypeDef *huart);

//串口发送中断回调函数
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart);

//串口发送一半中断回调函数(用的较少)
void HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart);

//串口接收中断回调函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);

//串口接收一半回调函数(用的较少)
void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart);

//串口接收中断回调函数
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart);