HAL库串口函数解析
串口句柄 UART_HandleTypeDef
typedef struct __UART_HandleTypeDef
{
USART_TypeDef *Instance; /*!< UART 寄存器基地址 */
UART_InitTypeDef Init; /*!< UART 通信参数 */
uint8_t *pTxBuffPtr; /*!< 指向 UART Tx 传输缓冲区的指针 */
uint16_t TxXferSize; /*!< UART Tx 传输大小 */
__IO uint16_t TxXferCount; /*!< UART Tx 传输计数器 */
uint8_t *pRxBuffPtr; /*!< 指向 UART Rx 传输缓冲区的指针 */
uint16_t RxXferSize; /*!< UART Rx 传输大小 */
__IO uint16_t RxXferCount; /*!< UART Rx 传输计数器 */
DMA_HandleTypeDef *hdmatx; /*!< UART Tx DMA 句柄参数 */
DMA_HandleTypeDef *hdmarx; /*!< UART Rx DMA 句柄参数 */
HAL_LockTypeDef Lock; /*!< 锁定对象 */
__IO HAL_UART_StateTypeDef gState; /*!< 与全局句柄管理和 Tx 操作相关的 UART 状态信息。
此参数可以是 @ref HAL_UART_StateTypeDef 的值 */
__IO HAL_UART_StateTypeDef RxState; /*!< 与 Rx 操作相关的 UART 状态信息。
此参数可以是 @ref HAL_UART_StateTypeDef 的值 */
__IO uint32_t ErrorCode; /*!< UART 错误代码 */
#if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
void (* TxHalfCpltCallback)(struct __UART_HandleTypeDef *huart); /*!< UART Tx 半完成回调 */
void (* TxCpltCallback)(struct __UART_HandleTypeDef *huart); /*!< UART Tx 完成回调 */
void (* RxHalfCpltCallback)(struct __UART_HandleTypeDef *huart); /*!< UART Rx 半完成回调 */
void (* RxCpltCallback)(struct __UART_HandleTypeDef *huart); /*!< UART Rx 完成回调 */
void (* ErrorCallback)(struct __UART_HandleTypeDef *huart); /*!< UART 错误回调 */
void (* AbortCpltCallback)(struct __UART_HandleTypeDef *huart); /*!< UART 中止完成回调 */
void (* AbortTransmitCpltCallback)(struct __UART_HandleTypeDef *huart); /*!< UART 中止传输完成回调 */
void (* AbortReceiveCpltCallback)(struct __UART_HandleTypeDef *huart); /*!< UART 中止接收完成回调 */
void (* WakeupCallback)(struct __UART_HandleTypeDef *huart); /*!< UART 唤醒回调 */
void (* MspInitCallback)(struct __UART_HandleTypeDef *huart); /*!< UART Msp 初始化回调 */
void (* MspDeInitCallback)(struct __UART_HandleTypeDef *huart); /*!< UART Msp 去初始化回调 */
#endif /* USE_HAL_UART_REGISTER_CALLBACKS */
} UART_HandleTypeDef;
串口服务函数 HAL_UART_IRQHandler
串口中断使能 HAL_UART_Receive_IT
串口接收函数 UART_Receive_IT
串口发送函数
Last updated