STM32F7中HAL库中ADC结构体分析

文章目录

  • 1、ADC_InitTypeDef结构体
  • 2、ADC_ChannelConfTypeDef 结构体 (普通ADC通道配置)
  • 3、ADC_MultiModeTypeDef 结构体 (多重ADC模式下通道配置)
    • 注意:ADC的多通道采集一般搭配DMA使用

1、ADC_InitTypeDef结构体

typedef struct
{
  uint32_t ClockPrescaler;     
  uint32_t Resolution;          
  uint32_t DataAlign;            
  uint32_t ScanConvMode;        
  uint32_t EOCSelection;         
  uint32_t ContinuousConvMode;    
  uint32_t NbrOfConversion;      
  uint32_t DiscontinuousConvMode; 
  uint32_t NbrOfDiscConversion;  
  uint32_t ExternalTrigConv;     
  uint32_t ExternalTrigConvEdge;  

}ADC_InitTypeDef;

1.1 、ClockPrescaler: 时钟分频系数

1.2、ADC_Resolution:配置ADC的分辨率,可选的分辨率有12位、10位、8位和6位。分辨率越高,AD转换数据精度越高,转换时间也越长;分辨率越低,AD转换数据精度越低,转换时间也越短。

1.3、ADC_DataAlign:转换结果数据对齐模式,可选右对齐或者左对齐。一般我们选择右对齐模式。

1.4、ScanConvMode:可选参数为ENABLE和DISABLE,配置是否使用扫描。如果是单通道AD转换使用DISABLE,如果是多通道AD转换使用ENABLE。

1.5、EOCSelection: EOC中断

1.6、ADC_ContinuousConvMode:可选参数为ENABLE和DISABLE,配置是启动自动连续转换还是单次转换。使用ENABLE配置为使能自动连续转换;使用DISABLE配置为单次转换,转换一次后停止需要手动控制才重新启动转换。

1.7、NbrOfConversion:转换通道数目(规则序列中有几个转换)。

1.8、DiscontinuousConvMode: 不连续采样模式

1.9、NbrOfDiscConversion:不连续采样通道数

1.10、ADC_ExternalTrigConv:外部触发事件选择,列举了很多外部触发条件,可根据项目需求配置触发来源。实际上,我们一般使用软件自动触发。

1.11、ADC_ExternalTrigConvEdge:外部触发极性选择,如果使用外部触发,可以选择触发的极性,可选有禁止触发检测、上升沿触发检测、下降沿触发检测以及上升沿和下降沿均可触发检测。

2、ADC_ChannelConfTypeDef 结构体 (普通ADC通道配置)

typedef struct 
{
  uint32_t Channel;        //转换通道配置       
  uint32_t Rank;               //转换序列排序    
  uint32_t SamplingTime;     //采样时间设置    
  uint32_t Offset;                 //保留供将来使用,可以设置为0
}ADC_ChannelConfTypeDef;

3、ADC_MultiModeTypeDef 结构体 (多重ADC模式下通道配置)

typedef struct
{
  uint32_t Mode;      //  ADC模式配置     
  uint32_t DMAAccessMode;     //DMA模式配置
  uint32_t TwoSamplingDelay;   // 2个采样阶段之间的延迟设置
}ADC_MultiModeTypeDef;

注意:ADC的多通道采集一般搭配DMA使用

你可能感兴趣的:(STM32)