|
STM32G474xx HAL 用户手册
|
ADC实例和ADC常规组的结构定义。 更多...
#include <stm32g4xx_hal_adc.h>
数据字段 | |
| uint32_t | ClockPrescaler |
| uint32_t | Resolution |
| uint32_t | DataAlign |
| uint32_t | GainCompensation |
| uint32_t | ScanConvMode |
| uint32_t | EOCSelection |
| FunctionalState | LowPowerAutoWait |
| FunctionalState | ContinuousConvMode |
| uint32_t | NbrOfConversion |
| FunctionalState | DiscontinuousConvMode |
| uint32_t | NbrOfDiscConversion |
| uint32_t | ExternalTrigConv |
| uint32_t | ExternalTrigConvEdge |
| uint32_t | SamplingMode |
| FunctionalState | DMAContinuousRequests |
| uint32_t | Overrun |
| FunctionalState | OversamplingMode |
| ADC_OversamplingTypeDef | Oversampling |
ADC实例和ADC常规组的结构定义。
定义在文件stm32g4xx_hal_adc.h的第90行。
| uint32_t ADC_InitTypeDef::ClockPrescaler |
选择ADC时钟源(从APB时钟派生的同步时钟,或从系统时钟或PLL派生的异步时钟(有关可用时钟列表,请参阅参考手册))和时钟预分频器。此参数可以是ADC公共 - 时钟源中的一个值。注意:ADC时钟配置对所有ADC实例是公共的。注意:如果使用注入组上的通道,ADC频率应低于AHB时钟频率/4(分辨率为12或10位时),AHB时钟频率/3(分辨率为8位时),AHB时钟频率/2(分辨率为6位时)。注意:在基于HCLK/1的同步时钟模式下,仅当系统时钟具有50%占空比的时钟周期时,才应启用该配置(必须旁路在RCC内部配置的APB预分频器,且PCLK时钟必须具有50%占空比)。详情请参阅参考手册。注意:如果使用异步时钟,则所选时钟必须在RCC顶层预先启用。注意:仅当所有ADC实例都禁用时,才能修改此参数。
定义在文件stm32g4xx_hal_adc.h的第92行。
参考自 HAL_ADC_Init()。
| FunctionalState ADC_InitTypeDef::ContinuousConvMode |
指定对于ADC常规组,在第一次ADC转换启动触发(软件启动或外部触发)发生后,转换是单次模式(一次转换)还是连续模式执行。此参数可设置为ENABLE或DISABLE。
定义在文件stm32g4xx_hal_adc.h的第166行。
参考自 ADC_ConversionStop(), HAL_ADC_Init(), HAL_ADC_PollForConversion(), 和 HAL_ADCEx_MultiModeStart_DMA()。
| uint32_t ADC_InitTypeDef::DataAlign |
指定转换数据寄存器中的ADC数据对齐方式(右对齐或左对齐)。有关不同分辨率下的对齐格式,请参阅参考手册。此参数可以是ADC转换数据对齐中的一个值。
定义在文件stm32g4xx_hal_adc.h的第112行。
参考自 HAL_ADC_Init()。
| FunctionalState ADC_InitTypeDef::DiscontinuousConvMode |
指定ADC常规组的转换序列是以完整序列还是非连续序列(主序列细分为连续部分)的方式执行。仅当使能了序列器(参数'ScanConvMode')时才使用非连续模式。如果序列器被禁用,则忽略此参数。仅当禁用连续模式时,才能使能非连续模式。如果启用了连续模式,则忽略此参数设置。此参数可设置为ENABLE或DISABLE。注意:在此STM32系列上,ADC常规组的非连续级数增量固定为逐级递增。
定义在文件stm32g4xx_hal_adc.h的第189行。
| FunctionalState ADC_InitTypeDef::DMAContinuousRequests |
指定DMA请求是以单次模式(达到转换次数时DMA传输停止)还是连续模式(DMA传输无限制,无论转换次数如何)执行。此参数可设置为ENABLE或DISABLE。注意:在连续模式下,DMA必须配置为循环模式。否则,当达到DMA缓冲区最大指针时,将触发溢出。
定义在文件stm32g4xx_hal_adc.h的第219行。
参考自 HAL_ADC_Init(), HAL_ADCEx_MultiModeConfigChannel(), 和 HAL_ADCEx_MultiModeStart_DMA()。
| uint32_t ADC_InitTypeDef::EOCSelection |
指定通过轮询和中断进行转换时使用的EOC(转换结束)标志:单次转换结束标志或序列转换结束标志。此参数可以是ADC序列器单次转换结束或序列转换结束中的一个值。
定义在文件stm32g4xx_hal_adc.h的第140行。
参考自 HAL_ADC_Init(), HAL_ADC_IRQHandler(), HAL_ADC_PollForConversion(), HAL_ADC_Start_IT(), HAL_ADCEx_InjectedPollForConversion(), 和 HAL_ADCEx_InjectedStart_IT()。
| uint32_t ADC_InitTypeDef::ExternalTrigConv |
选择用于触发ADC常规组转换开始的外部事件源。如果设置为ADC_SOFTWARE_START,则禁用外部触发并使用软件触发代替。此参数可以是ADC常规组触发源中的一个值。注意:外部触发源对所有ADC实例是公共的。
定义在文件stm32g4xx_hal_adc.h的第205行。
参考自 HAL_ADC_Init()。
选择用于触发ADC常规组转换开始的外部事件边沿。如果触发源设置为ADC_SOFTWARE_START,则忽略此参数。此参数可以是ADC常规组触发边沿(选择外部触发时)中的一个值。
定义在文件stm32g4xx_hal_adc.h的第212行。
| uint32_t ADC_InitTypeDef::GainCompensation |
指定要应用于ADC原始转换数据的ADC增益补偿系数,基于以下公式:DATA = DATA(原始) * (增益补偿系数) / 4096 "2.12" 位格式,无符号:2位指数 / 12位尾数 增益步长为 1/4096 = 0.000244 增益范围为 0.0000 到 3.999756 此参数值可以为 0 增益补偿将被禁用,系数设置为 0 1 -> 0x3FFF 增益补偿将被启用,系数设置为指定值 注意:启用增益补偿后,将应用于所有通道。
定义在文件stm32g4xx_hal_adc.h的第116行。
参考自 HAL_ADC_Init()。
| FunctionalState ADC_InitTypeDef::LowPowerAutoWait |
选择动态低功耗自动延迟:仅当用户软件使用函数HAL_ADC_GetValue()或HAL_ADCEx_InjectedGetValue()检索到前一次转换(对于ADC常规组)或前一次序列(对于ADC注入组)的结果时,才启动新的转换。此功能自动将ADC转换触发的频率调整到读取数据的系统速度。此外,这可以避免低频应用中的溢出风险。此参数可设置为ENABLE或DISABLE。注意:不建议与中断或DMA一起使用(HAL_ADC_Start_IT()、HAL_ADC_Start_DMA()),因为这些模式必须立即清除EOC标志(由CPU释放IRQ挂起事件或由DMA)。自动等待会工作,但时间非常短,无法发挥其预期优势(除非CPU或DMA传输负载非常高,可能需要使用自动等待)。确实使用轮询:1. 使用HAL_ADC_Start()开始转换,2. 稍后,当需要ADC转换数据时:使用HAL_ADC_PollForConversion()确保转换完成,并使用