A4 STM32_HAL库函数 之 ADC扩展驱动器所有函数的介绍及使用
1 ADC扩展驱动器预览
序号 |
函数名 |
描述 |
1 |
HAL_ADCEx_Calibration_Start() |
启动ADC校准。 |
2 |
HAL_ADCEx_InjectedStart() |
启动注入模式的ADC转换。 |
3 |
HAL_ADCEx_InjectedStop() |
停止注入模式的ADC转换。 |
4 |
HAL_ADCEx_InjectedPollForConversion() |
轮询注入模式ADC转换是否完成。 |
5 |
HAL_ADCEx_InjectedStart_IT() |
启动注入模式的ADC转换并使用中断处理转换完成。 |
6 |
HAL_ADCEx_InjectedStop_IT() |
停止注入模式的ADC转换中断。 |
7 |
HAL_ADCEx_MultiModeStart_DMA() |
启动多模式DMA传输。 |
8 |
HAL_ADCEx_MultiModeStop_DMA() |
停止多模式DMA传输。 |
9 |
HAL_ADCEx_InjectedGetValue() |
获取注入模式的最近一次ADC转换结果。 |
10 |
HAL_ADCEx_MultiModeGetValue() |
获取多模式的最近一次ADC转换结果。 |
11 |
HAL_ADCEx_InjectedConvCpltCallback() |
注入模式的ADC转换完成回调函数。 |
12 |
HAL_ADCEx_InjectedConfigChannel() |
配置注入模式ADC通道。 |
13 |
HAL_ADCEx_MultiModeConfigChannel() |
配置多模式ADC通道。 |
使用模板:
#include "stm32f4xx_hal.h"
int main(void) {
HAL_Init();
HAL_MspInit();
HAL_InitTick();
HAL_ADC_Init();
HAL_ADCEx_Calibration_Start();
HAL_ADCEx_InjectedStart();
while (HAL_ADCEx_InjectedPollForConversion() != HAL_OK);
uint32_t injectedValue = HAL_ADCEx_InjectedGetValue();
HAL_ADCEx_InjectedStop();
HAL_ADC_DeInit();
HAL_MspDeInit();
return 0;
}
1.1 HAL_ADCEx_Calibration_Start
函数名 |
HAL_ADCEx_Calibration_Start |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc, uint32_t SingleDiff) |
功能描述 |
启动 ADC 校准 |
输入参数 1 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 |
SingleDiff:校准模式,可以是 ADC_SINGLE_ENDED 或 ADC_DIFFERENTIAL |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:校准启动结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.2 HAL_ADCEx_InjectedStart
函数名 |
HAL_ADCEx_InjectedStart |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef* hadc) |
功能描述 |
启动注入模式的 ADC 转换 |
输入参数 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:启动结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.3 HAL_ADCEx_InjectedStop
函数名 |
HAL_ADCEx_InjectedStop |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_InjectedStop(ADC_HandleTypeDef* hadc) |
功能描述 |
停止注入模式的 ADC 转换 |
输入参数 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:停止结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.4 HAL_ADCEx_InjectedPollForConversion
函数名 |
HAL_ADCEx_InjectedPollForConversion |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) |
功能描述 |
轮询注入模式的 ADC 转换完成状态 |
输入参数 1 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 |
Timeout:轮询超时时间,单位为毫秒 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:操作结果,可以是 HAL_OK、HAL_TIMEOUT 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.5 HAL_ADCEx_InjectedStart_IT
函数名 |
HAL_ADCEx_InjectedStart_IT |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT(ADC_HandleTypeDef* hadc) |
功能描述 |
以中断方式启动注入模式的 ADC 转换 |
输入参数 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:启动结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.6 HAL_ADCEx_InjectedStop_IT
函数名 |
HAL_ADCEx_InjectedStop_IT |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT(ADC_HandleTypeDef* hadc) |
功能描述 |
以中断方式停止注入模式的 ADC 转换 |
输入参数 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:停止结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.7 HAL_ADCEx_MultiModeStart_DMA
函数名 |
HAL_ADCEx_MultiModeStart_DMA |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) |
功能描述 |
启动多模式 DMA 传输 |
输入参数 1 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 |
pData:要传输的 |
数据缓冲区的指针 |
| 输入参数 3 | Length:要传输的数据数量 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:启动结果,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |
1.8 HAL_ADCEx_MultiModeStop_DMA
函数名 |
HAL_ADCEx_MultiModeStop_DMA |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA(ADC_HandleTypeDef* hadc) |
功能描述 |
停止多模式 DMA 传输 |
输入参数 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:停止结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.9 HAL_ADCEx_InjectedGetValue
函数名 |
HAL_ADCEx_InjectedGetValue |
函数原形 |
uint32_t HAL_ADCEx_InjectedGetValue(ADC_HandleTypeDef* hadc, uint32_t InjectedRank) |
功能描述 |
获取注入模式的 ADC 转换结果值 |
输入参数 1 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 |
InjectedRank:注入通道的秩(从 1 开始) |
输出参数 |
无 |
返回值 |
uint32_t:转换结果值 |
先决条件 |
无 |
被调用函数 |
无 |
1.10 HAL_ADCEx_MultiModeGetValue
函数名 |
HAL_ADCEx_MultiModeGetValue |
函数原形 |
uint32_t HAL_ADCEx_MultiModeGetValue(ADC_HandleTypeDef* hadc) |
功能描述 |
获取多模式的 ADC 转换结果值 |
输入参数 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 |
无 |
返回值 |
uint32_t:转换结果值 |
先决条件 |
无 |
被调用函数 |
无 |
1.11 HAL_ADCEx_InjectedConvCpltCallback
函数名 |
HAL_ADCEx_InjectedConvCpltCallback |
函数原形 |
void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef* hadc) |
功能描述 |
注入模式的 ADC 转换完成回调函数 |
输入参数 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输出参数 |
无 |
返回值 |
无 |
先决条件 |
无 |
被调用函数 |
无 |
1.12 HAL_ADCEx_InjectedConfigChannel
函数名 |
HAL_ADCEx_InjectedConfigChannel |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel(ADC_HandleTypeDef* hadc, ADC_InjectionConfTypeDef* sConfigInjected) |
功能描述 |
配置注入模式的 ADC 通道 |
输入参数 1 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 |
sConfigInjected:注入模式通道配置结构体,包含通道号、采样时间等配置信息 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:配置结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
1.13 HAL_ADCEx_MultiModeConfigChannel
函数名 |
HAL_ADCEx_MultiModeConfigChannel |
函数原形 |
HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel(ADC_HandleTypeDef* hadc, ADC_MultiModeTypeDef* multimode) |
功能描述 |
配置多模式的 ADC 通道 |
输入参数 1 |
hadc:ADC 句柄,指向一个 ADC_HandleTypeDef 结构体 |
输入参数 2 |
multimode:多模式配置结构体,包含主模式和注入模式的配置信息 |
输出参数 |
无 |
返回值 |
HAL_StatusTypeDef:配置结果,可以是 HAL_OK 或 HAL_ERROR |
先决条件 |
无 |
被调用函数 |
无 |
该文档修改记录:
修改时间 |
修改说明 |
2024年4月7日 |
第一次发布,介绍了A4 STM32_HAL库函数 之 ADC扩展驱动器所有函数的介绍及使用 |
总结
以上就是A4 STM32_HAL库函数 之 ADC扩展驱动器所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。