文章目录
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;