A62 STM32_HAL库函数 之 Uart通用驱动 -- A -- 所有函数的介绍及使用

1 该驱动函数预览

序号函数名描述
1HAL_UART_Init()初始化UART。
2HAL_HalfDuplex_Init()初始化半双工模式的UART。
3HAL_LIN_Init()初始化LIN模式的UART。
4HAL_MultiProcessor_Init()初始化多处理器模式的UART。
5HAL_UART_DeInit()反初始化UART。
6HAL_UART_MspInit()初始化UART的底层硬件资源。
7HAL_UART_MspDeInit()反初始化UART的底层硬件资源。
8HAL_UART_Transmit()发送UART数据。
9HAL_UART_Receive()接收UART数据。
10HAL_UART_Transmit_IT()使用中断发送UART数据。
11HAL_UART_Receive_IT()使用中断接收UART数据。
12HAL_UART_Transmit_DMA()使用DMA发送UART数据。
13HAL_UART_Receive_DMA()使用DMA接收UART数据。
14HAL_UART_DMAPause()暂停UART的DMA传输。
15HAL_UART_DMAResume()恢复UART的DMA传输。
16HAL_UART_DMAStop()停止UART的DMA传输。
17HAL_UART_Abort()中止UART的传输。
18HAL_UART_AbortTransmit()中止UART的发送。
19HAL_UART_AbortReceive()中止UART的接收。
20HAL_UART_Abort_IT()使用中断中止UART的传输。
21HAL_UART_AbortTransmit_IT()使用中断中止UART的发送。
22HAL_UART_AbortReceive_IT()使用中断中止UART的接收。
23HAL_UART_IRQHandler()UART中断处理函数。
24HAL_UART_TxCpltCallback()UART发送完成回调函数。
25HAL_UART_TxHalfCpltCallback()UART半发送完成回调函数。
26HAL_UART_RxCpltCallback()UART接收完成回调函数。
27HAL_UART_RxHalfCpltCallback()UART半接收完成回调函数。
28HAL_UART_ErrorCallback()UART错误回调函数。
29HAL_UART_AbortCpltCallback()UART中止完成回调函数。
30HAL_UART_AbortTransmitCpltCallback()UART发送中止完成回调函数。
31HAL_UART_AbortReceiveCpltCallback()UART接收中止完成回调函数。
32HAL_LIN_SendBreak()发送LIN总线的Break信号。
33HAL_MultiProcessor_EnterMuteMode()进入UART多处理器模式的静默模式。
34HAL_MultiProcessor_ExitMuteMode()退出UART多处理器模式的静默模式。
35HAL_HalfDuplex_EnableTransmitter()启用UART半双工模式的发送器。
36HAL_HalfDuplex_EnableReceiver()启用UART半双工模式的接收器。
37HAL_UART_GetState()获取UART状态。
38HAL_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日第一次发布,介绍了该博客驱动所有函数的介绍及使用

总结

以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常驻客栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值