A62 STM32_HAL库函数 之 Uart通用驱动 -- A -- 所有函数的介绍及使用
1 该驱动函数预览
序号 | 函数名 | 描述 |
---|
1 | HAL_UART_Init() | 初始化UART。 |
2 | HAL_HalfDuplex_Init() | 初始化半双工模式的UART。 |
3 | HAL_LIN_Init() | 初始化LIN模式的UART。 |
4 | HAL_MultiProcessor_Init() | 初始化多处理器模式的UART。 |
5 | HAL_UART_DeInit() | 反初始化UART。 |
6 | HAL_UART_MspInit() | 初始化UART的底层硬件资源。 |
7 | HAL_UART_MspDeInit() | 反初始化UART的底层硬件资源。 |
8 | HAL_UART_Transmit() | 发送UART数据。 |
9 | HAL_UART_Receive() | 接收UART数据。 |
10 | HAL_UART_Transmit_IT() | 使用中断发送UART数据。 |
11 | HAL_UART_Receive_IT() | 使用中断接收UART数据。 |
12 | HAL_UART_Transmit_DMA() | 使用DMA发送UART数据。 |
13 | HAL_UART_Receive_DMA() | 使用DMA接收UART数据。 |
14 | HAL_UART_DMAPause() | 暂停UART的DMA传输。 |
15 | HAL_UART_DMAResume() | 恢复UART的DMA传输。 |
16 | HAL_UART_DMAStop() | 停止UART的DMA传输。 |
17 | HAL_UART_Abort() | 中止UART的传输。 |
18 | HAL_UART_AbortTransmit() | 中止UART的发送。 |
19 | HAL_UART_AbortReceive() | 中止UART的接收。 |
20 | HAL_UART_Abort_IT() | 使用中断中止UART的传输。 |
21 | HAL_UART_AbortTransmit_IT() | 使用中断中止UART的发送。 |
22 | HAL_UART_AbortReceive_IT() | 使用中断中止UART的接收。 |
23 | HAL_UART_IRQHandler() | UART中断处理函数。 |
24 | HAL_UART_TxCpltCallback() | UART发送完成回调函数。 |
25 | HAL_UART_TxHalfCpltCallback() | UART半发送完成回调函数。 |
26 | HAL_UART_RxCpltCallback() | UART接收完成回调函数。 |
27 | HAL_UART_RxHalfCpltCallback() | UART半接收完成回调函数。 |
28 | HAL_UART_ErrorCallback() | UART错误回调函数。 |
29 | HAL_UART_AbortCpltCallback() | UART中止完成回调函数。 |
30 | HAL_UART_AbortTransmitCpltCallback() | UART发送中止完成回调函数。 |
31 | HAL_UART_AbortReceiveCpltCallback() | UART接收中止完成回调函数。 |
32 | HAL_LIN_SendBreak() | 发送LIN总线的Break信号。 |
33 | HAL_MultiProcessor_EnterMuteMode() | 进入UART多处理器模式的静默模式。 |
34 | HAL_MultiProcessor_ExitMuteMode() | 退出UART多处理器模式的静默模式。 |
35 | HAL_HalfDuplex_EnableTransmitter() | 启用UART半双工模式的发送器。 |
36 | HAL_HalfDuplex_EnableReceiver() | 启用UART半双工模式的接收器。 |
37 | HAL_UART_GetState() | 获取UART状态。 |
38 | HAL_UART_GetError() | 获取UART错误状态。 |
1.1 HAL_UART_Init
函数名 | HAL_UART_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart) |
功能描述 | 初始化UART外设 |
输入参数 | huart:UART句柄结构体指针 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:初始化状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| HAL_UART_Init(&huart); |
``` | |
1.2 HAL_HalfDuplex_Init
函数名 | HAL_HalfDuplex_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart) |
功能描述 | 初始化UART半双工模式 |
输入参数 | huart:UART句柄结构体指针 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:初始化状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| HAL_HalfDuplex_Init(&huart); |
``` | |
1.3 HAL_LIN_Init
函数名 | HAL_LIN_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength) |
功能描述 | 初始化UART LIN模式 |
输入参数 | huart:UART句柄结构体指针 |
| BreakDetectLength:中断检测长度 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:初始化状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| HAL_LIN_Init(&huart, 10); |
``` | |
1.4 HAL_MultiProcessor_Init
函数名 | HAL_MultiProcessor_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint32_t Address, uint32_t WakeUpMethod) |
功能描述 | 初始化UART多处理器模式 |
输入参数 | huart:UART句柄结构体指针 |
| Address:地址 |
| WakeUpMethod:唤醒方法 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:初始化状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| HAL_MultiProcessor_Init(&huart, 0x10, UART_WAKEUP_ON_ADDRESS); |
``` | |
1.5 HAL_UART_DeInit
函数名 | HAL_UART_DeInit |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) |
功能描述 | 反初始化UART外设 |
输入参数 | huart:UART句柄结构体指针 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:反初始化状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| HAL_UART_DeInit(&huart); |
``` | |
1.6 HAL_UART_MspInit
函数名 | HAL_UART_MspInit |
---|
函数原形 | void HAL_UART_MspInit(UART_HandleTypeDef *huart) |
功能描述 | 初始化UART外设的相关GPIO、时钟等 |
输入参数 | huart:UART句柄结 |
构体指针 |
| 输出参数 | 无 |
| 返回值 | 无 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
| 案例 | 无 |
1.7 HAL_UART_MspDeInit
函数名 | HAL_UART_MspDeInit |
---|
函数原形 | void HAL_UART_MspDeInit(UART_HandleTypeDef *huart) |
功能描述 | 反初始化UART外设的相关GPIO、时钟等 |
输入参数 | huart:UART句柄结构体指针 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | 无 |
1.8 HAL_UART_Transmit
函数名 | HAL_UART_Transmit |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
功能描述 | 使用UART发送数据 |
输入参数 | huart:UART句柄结构体指针 |
| pData:发送数据缓冲区指针 |
| Size:发送数据大小 |
| Timeout:发送超时时间 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:发送状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| uint8_t pData[10] = “Hello”; |
| HAL_UART_Transmit(&huart, pData, 6, 100); |
``` | |
1.9 HAL_UART_Receive
函数名 | HAL_UART_Receive |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
功能描述 | 使用UART接收数据 |
输入参数 | huart:UART句柄结构体指针 |
| pData:接收数据缓冲区指针 |
| Size:接收数据大小 |
| Timeout:接收超时时间 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:接收状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| uint8_t pData[10]; |
| HAL_UART_Receive(&huart, pData, 6, 100); |
``` | |
1.10 HAL_UART_Transmit_IT
函数名 | HAL_UART_Transmit_IT |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
功能描述 | 使用UART中断发送数据 |
输入参数 | huart:UART句柄结构体指针 |
| pData:发送数据缓冲区指针 |
| Size:发送数据大小 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:发送状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| uint8_t pData[10] = “Hello”; |
| HAL_UART_Transmit_IT(&huart, pData, 6); |
``` | |
1.11 HAL_UART_Receive_IT
函数名 | HAL_UART_Receive_IT |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
功能描述 | 使用UART中断接收数据 |
输入参数 | huart:UART句柄结构体指针 |
|
| | pData:接收数据缓冲区指针 |
| | Size:接收数据大小 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:接收状态 |
| 先决条件 | 无 |
| 被调用函数 | 无 |
| 案例 | c | | | UART_HandleTypeDef huart; | | | uint8_t pData[10]; | | | HAL_UART_Receive_IT(&huart, pData, 6); | |
|
1.12 HAL_UART_Transmit_DMA
函数名 | HAL_UART_Transmit_DMA |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
功能描述 | 使用DMA发送数据 |
输入参数 | huart:UART句柄结构体指针 |
| pData:发送数据缓冲区指针 |
| Size:发送数据大小 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:发送状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| uint8_t pData[10] = “Hello”; |
| HAL_UART_Transmit_DMA(&huart, pData, 6); |
``` | |
1.13 HAL_UART_Receive_DMA
函数名 | HAL_UART_Receive_DMA |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size) |
功能描述 | 使用DMA接收数据 |
输入参数 | huart:UART句柄结构体指针 |
| pData:接收数据缓冲区指针 |
| Size:接收数据大小 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:接收状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| uint8_t pData[10]; |
| HAL_UART_Receive_DMA(&huart, pData, 6); |
``` | |
1.14 HAL_UART_DMAPause
函数名 | HAL_UART_DMAPause |
---|
函数原形 | HAL_StatusTypeDef HAL_UART_DMAPause(UART_HandleTypeDef *huart) |
功能描述 | 暂停UART DMA传输 |
输入参数 | huart:UART句柄结构体指针 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:暂停状态 |
先决条件 | 无 |
被调用函数 | 无 |
案例 | ```c |
| UART_HandleTypeDef huart; |
| HAL_UART_DMAPause(&huart); |
``` | |
该文档修改记录:
修改时间 | 修改说明 |
---|
2024年4月30日 | 第一次发布,介绍了该博客驱动所有函数的介绍及使用 |
总结
以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。