A2 STM32_HAL库函数 之 ADC通用驱动器 -- A -- 所有函数的介绍及使用
1 ADC通用驱动器预览
序号 | 函数名 | 描述 |
---|
1 | HAL_ADC_Init() | 初始化ADC外设。 |
2 | HAL_ADC_DeInit() | 反初始化ADC外设。 |
3 | HAL_ADC_MspInit() | 初始化MCU外设相关的ADC引脚或资源。 |
4 | HAL_ADC_MspDeInit() | 反初始化MCU外设相关的ADC引脚或资源。 |
5 | HAL_ADC_Start() | 启动ADC转换。 |
6 | HAL_ADC_Stop() | 停止ADC转换。 |
7 | HAL_ADC_PollForConversion() | 轮询ADC转换是否完成。 |
8 | HAL_ADC_PollForEvent() | 轮询ADC事件是否发生。 |
9 | HAL_ADC_Start_IT() | 启动ADC转换并使用中断处理转换完成。 |
10 | HAL_ADC_Stop_IT() | 停止ADC转换中断。 |
11 | HAL_ADC_Start_DMA() | 启动ADC转换并使用DMA处理转换数据。 |
12 | HAL_ADC_Stop_DMA() | 停止ADC转换DMA。 |
13 | HAL_ADC_GetValue() | 获取最近一次ADC转换的结果。 |
14 | HAL_ADC_IRQHandler() | ADC中断处理程序。 |
15 | HAL_ADC_ConvCpltCallback() | ADC转换完成回调函数。 |
16 | HAL_ADC_ConvHalfCpltCallback() | ADC转换一半完成回调函数。 |
17 | HAL_ADC_LevelOutOfWindowCallback() | ADC窗口阈值超出回调函数。 |
18 | HAL_ADC_ErrorCallback() | ADC错误回调函数。 |
19 | HAL_ADC_ConfigChannel() | 配置ADC通道。 |
20 | HAL_ADC_AnalogWDGConfig() | 配置ADC模拟看门狗。 |
21 | HAL_ADC_GetState() | 获取ADC状态。 |
22 | HAL_ADC_GetError() | 获取ADC错误状态。 |
使用模板:
#include "stm32f4xx_hal.h"
int main(void) {
HAL_Init();
HAL_MspInit();
HAL_InitTick();
HAL_ADC_Init();
HAL_ADC_Start();
while (HAL_ADC_PollForConversion() != HAL_OK);
uint32_t adcValue = HAL_ADC_GetValue();
HAL_ADC_Stop();
HAL_ADC_DeInit();
HAL_MspDeInit();
return 0;
}
1.1 HAL_ADC_Init
函数名 | HAL_ADC_Init |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) |
功能描述 | 初始化 ADC 模块 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:初始化结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
例:
ADC_HandleTypeDef hadc;
HAL_ADC_Init(&hadc);
1.2 HAL_ADC_DeInit
函数名 | HAL_ADC_DeInit |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc) |
功能描述 | 反初始化 ADC 模块 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:反初始化结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
例:
ADC_HandleTypeDef hadc;
HAL_ADC_DeInit(&hadc);
1.3 HAL_ADC_MspInit
函数名 | HAL_ADC_MspInit |
---|
函数原形 | void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) |
功能描述 | 初始化 ADC 模块的底层硬件抽象层(HAL) |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.4 HAL_ADC_MspDeInit
函数名 | HAL_ADC_MspDeInit |
---|
函数原形 | void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) |
功能描述 | 反初始化 ADC 模块的底层硬件抽象层(HAL) |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
1.5 HAL_ADC_Start
函数名 | HAL_ADC_Start |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) |
功能描述 | 启动 ADC 转换 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:启动结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.6 HAL_ADC_Stop
函数名 | HAL_ADC_Stop |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) |
功能描述 | 停止 ADC 转换 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:停止结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.7 HAL_ADC_PollForConversion
函数名 | HAL_ADC_PollForConversion |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) |
功能描述 | 轮询 ADC 转换完成状态 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 | Timeout:轮询超时时间,单位为毫秒 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:操作结果,可以是 HAL_OK、HAL_TIMEOUT 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.8 HAL_ADC_PollForEvent
函数名 | HAL_ADC_PollForEvent |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeout) |
功能描述 | 轮询 ADC 事件状态 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 | EventType:要轮询的事件类型,可以是以下值之一: |
- ADC_EOSMP_EVENT:转换过程结束事件
- ADC_AWD_EVENT:模拟看门狗事件
- ADC_OVR_EVENT:溢出事件
| 输入参数 3 | Timeout:轮询超时时间,单位为毫秒 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:操作结果,可以是 HAL_OK、HAL_TIMEOUT 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.9 HAL_ADC_Start_IT
函数名 | HAL_ADC_Start_IT |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) |
功能描述 | 以中断方式启动 ADC 转换 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:启动结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
|
1.10 HAL_ADC_Stop_IT
函数名 | HAL_ADC_Stop_IT |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc) |
功能描述 | 以中断方式停止 ADC 转换 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:停止结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
1.11 HAL_ADC_Start_DMA
函数名 | HAL_ADC_Start_DMA |
---|
函数原形 | HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) |
功能描述 | 启动 DMA 传输并以 DMA 方式启动 ADC 转换 |
输入参数 1 | hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 | pData:要传输的数据缓冲区的指针 |
输入参数 3 | Length:要传输的数据数量 |
输出参数 | 无 |
返回值 | HAL_StatusTypeDef:启动结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 | 无 |
被调用函数 | 无 |
该文档修改记录:
修改时间 | 修改说明 |
---|
2024年4月30日 | 第一次发布,介绍了A2 STM32_HAL库函数 之 ADC通用驱动器 – A – 所有函数的介绍及使用 |
总结
以上就是A2 STM32_HAL库函数 之 ADC通用驱动器 – A – 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。